home *** CD-ROM | disk | FTP | other *** search
/ Underground / Underground CD1.iso / other / how-to.pl / PCMCIA-HOWTO.pl.txt < prev    next >
Encoding:
Text File  |  1997-12-26  |  94.5 KB  |  2,443 lines

  1.   Opis sterownik≤w do PCMCIA
  2.   Autor: David Hinds, dhinds@hyper.stanford.edu
  3.   v1.105, 9 Wrze╢nia 1997
  4.   Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
  5.   v2.0, 13 Grudnia 1997
  6.  
  7.  
  8.   Dokument ten opisuje jak zainstalowaµ i u┐ywaµ Card Services PCMCIA w
  9.   Linux-ie oraz odpowiada na niekt≤re czΩsto zadawane pytania.
  10.   Najnowsz▒ wersjΩ orygina│u tego dokumentu mo┐na zawsze znale╝µ pod
  11.   adresem hyper.stanford.edu. Wersja HTML znajduje siΩ pod adresem
  12.   hyper.stanford.edu/HyperNews/get/pcmcia/home.html <http://hyper.stan¡
  13.   ford.edu/HyperNews/get/pcmcia/home.html> Dokument ten zosta│ napisany
  14.   w standardzie ISO-8859-2.  Nowsza wersja zawiera uaktulanione wskaza¡
  15.   nia na katalog zawieraj▒cy j▒dro na ftp.icm.edu.pl. Kolejna wersja
  16.   jest uaktualnieniem do obecnej wersji orygina│u.
  17.   ______________________________________________________________________
  18.  
  19.   Table of Contents
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.   1. Informacje og≤lne i wymagania sprzΩtowe.
  68.  
  69.      1.1 Wprowadzenie.
  70.      1.2 Prawa autorskie i Disclaimer.
  71.      1.3 Jaka jest najnowsza wersja i sk▒d mogΩ j▒ wzi▒µ ?
  72.      1.4 Jakie systemy s▒ obs│ugiwane ?
  73.      1.5 Jakie karty PCMCIA s▒ obs│ugiwane?
  74.      1.6 Kiedy moja nowa karta bΩdzie obs│ugiwana ?
  75.      1.7 Listy dyskusyjne.
  76.  
  77.   2. Kompilacja, instalacja i konfiguracja.
  78.  
  79.      2.1 Wymagania i ustawienia j▒dra.
  80.      2.2 Instalacja.
  81.      2.3 Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych a'la BSD.
  82.      2.4 Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych a'la SYS V.
  83.      2.5 Opcje konfiguracji specyficzne dla danego systemu.
  84.      2.6 Problemy podczas │adowania modu│≤w j▒dra.
  85.      2.7 Problemy z przerwaniem zmiany statusu karty.
  86.      2.8 Problemy z identyfikacj▒ karty.
  87.      2.9 Dlaczego nie dystrybujesz binari≤w do PCMCIA ?
  88.      2.10 Dlaczego ten pakiet jest taki wielki ?
  89.  
  90.   3. Stosowanie i zalety.
  91.  
  92.      3.1 NarzΩdzia do monitorowania urz▒dze± PCMCIA.
  93.      3.2 Przegl▒d skrypt≤w konfiguracyjnych PCMCIA.
  94.      3.3 Adaptery sieciowe PCMCIA.
  95.         3.3.1 Wyb≤r transceiver-a.
  96.         3.3.2 Komentarze na temat konkretnych kart.
  97.         3.3.3 Diagnozowanie problem≤w z kartami sieciowymi.
  98.      3.4 Urz▒dzenia szeregowe i modemy PCMCIA.
  99.         3.4.1 Diagnozowanie problem≤w z urz▒dzeniami szeregowymi.
  100.      3.5 Adaptery PCMCIA SCSI.
  101.         3.5.1 Diagnozowanie problem≤w z kartami SCSI.
  102.      3.6 Karty pamiΩci PCMCIA.
  103.         3.6.1 U┐ywanie kart pamiΩci [quot  ]flash[quot  ].
  104.      3.7 Karty PCMCIA napΩd≤w ATA/IDE.
  105.         3.7.1 Diagnozowanie problem≤w z adapterami ATA/IDE.
  106.      3.8 Karty wielofunkcyjne.
  107.      3.9 Kiedy mo┐na bezpiecznie w│o┐yµ albo wyj▒µ kartΩ PCMCIA ?
  108.      3.10 Card Services i Advanced Power Management.
  109.      3.11 Jak mam wy│▒czyµ kartΩ PCMCIA bez wyjmowania jej  ?
  110.      3.12 Jak usuwam sterowniki PCMCIA z pamiΩci ?
  111.  
  112.   4. Zaawansowane tematy.
  113.  
  114.      4.1 Alokoacja zasob≤w dla urz▒dze± PCMCIA.
  115.      4.2 Jak zrobiµ dwie r≤┐ne konfiguracje urz▒dze± do domu i pracy ?
  116.      4.3 Startowanie z urz▒dzenia PCMCIA.
  117.         4.3.1 Skrypt-pomocnik pcinitrd.
  118.         4.3.2 Tworzenie dyskietki startowej z initrd.
  119.         4.3.3 Instalacja obrazu initrd na napΩdach bez Linux-a.
  120.  
  121.   5. Jak radziµ sobie z nieobs│ugiwanymi kartami.
  122.  
  123.      5.1 Konfiguracja nieobs│ugiwanych kart.
  124.      5.2 Jak mam dodaµ obs│ugΩ dla karty kompatybilnej z NE2000 ?
  125.      5.3 Interfejs PCMCIA do dyskietek.
  126.      5.4 Co jest z obs│ug▒ kart Xircom ?
  127.  
  128.   6. Wskaz≤wki do ╢ledzenia (debugging) i informacje do programowania.
  129.  
  130.      6.1 Jak mogΩ wys│aµ pomocny list o b│Ωdzie ?
  131.      6.2 Informacje na temat niskopoziomowego ╢ledzenia PCMCIA.
  132.      6.3 Jak mam napisaµ sterownik Card Services dla nowej karty ?
  133.      6.4 Wskaz≤wki dla autor≤w sterownik≤w klient≤w PCMCIA.
  134.      6.5 Od t│umacza.
  135.  
  136.  
  137.   ______________________________________________________________________
  138.  
  139.   1.  Informacje og≤lne i wymagania sprzΩtowe.
  140.  
  141.  
  142.  
  143.   1.1.  Wprowadzenie.
  144.  
  145.  
  146.   Card Services dla Linux-a to kompletny pakiet obs│uguj▒cy PCMCIA.
  147.   Zawiera on zestaw │adowalnych modu│≤w j▒dra, kt≤re tworz▒ wersjΩ
  148.   aplikacji interfejsowych dla PCMCIA Card Services, zestaw sterownik≤w
  149.   klient≤w dla specyficznych kart, oraz demona-mened┐era do kart, kt≤ry
  150.   mo┐e reagowaµ na wk│adanie kart i ich wyjmowanie poprzez │adowanie i
  151.   usuwanie odpowiednich modu│≤w. Obs│uguje on tak┐e tzw. "gor▒ce
  152.   wymiany" kart PCMCIA, tak ┐e karty mog▒ byµ wk│adane i wyjmowane w
  153.   ka┐dej chwili.
  154.  
  155.   Oprogramowanie to jest w ci▒g│ym rozwoju. Zawiera przypuszczalnie
  156.   b│Ωdy i nale┐y go u┐ywaµ ostro┐nie. ZrobiΩ co w mojej mocy, ┐eby
  157.   poprawiµ b│Ωdy zg│aszane do mnie, ale je╢li nie powiesz mi o takim, to
  158.   mogΩ siΩ o nim nigdy nie dowiedzieµ. Je╢li ju┐ u┐yjesz tego
  159.   oprogramowania, mam nadziejΩ, ┐e wy╢lesz mi swoje do╢wiadczenia, z│e
  160.   czy dobre !
  161.  
  162.   Je╢li masz jakie╢ sugestie na temat polepszenia tego dokumentu, daj mi
  163.   znaµ dhinds@hyper.stanford.edu.
  164.  
  165.  
  166.   1.2.  Prawa autorskie i Disclaimer.
  167.  
  168.  
  169.   Copyright (c) 1996, 1997 David A. Hinds
  170.  
  171.   Dokument tez mo┐e byµ reprodukowany lub dystrybuowany bez mojej
  172.   wyra╝nej zgody. Wersje zmodyfikowane, w│▒czaj▒c t│umaczenia na inne
  173.   jΩzyki, mog▒ byµ wolno dystrybuowane, zak│adaj▒c, ┐e s▒ jasno
  174.   identyfikowane jako takie, i ta uwaga o prawach autorskich jest w nich
  175.   zawarta.
  176.  
  177.   Dokument ten mo┐e byµ zawarty w dystrybucjach komercyjnych bez mojej
  178.   wyra╝nej zgody. Poniewa┐ nie jest to wymagane chcia│bym byµ
  179.   powiadomiony o takowych dzia│aniach. Je╢li zamierzasz rozprowadzaµ ten
  180.   dokument jako pracΩ wydawan▒, skontaktuj siΩ ze mn▒, aby upewniµ siΩ,
  181.   ┐e masz najnowsz▒ wersjΩ.
  182.  
  183.   Dokument ten jest rozprowadzany "takim jakim jest", bez wyra╝nych czy
  184.   wynikaj▒cych gwarancji. U┐ywaj informacji zawartych tutaj na swoje
  185.   w│asne ryzyko.
  186.  
  187.  
  188.   1.3.  Jaka jest najnowsza wersja i sk▒d mogΩ j▒ wzi▒µ ?
  189.  
  190.  
  191.   Bie┐▒c▒ g│≤wn▒ wersj▒ Card Services jest wersja 2.9, a pomniejsze
  192.   uaktualnienia czy poprawki b│Ωd≤w s▒ numerowane jako 2.9.1, 2.9.2 itd.
  193.  
  194.   Kod ╝r≤d│owy najnowszej wersji jest dostΩpny pod adresem
  195.   hyper.stanford.edu. Nazywa siΩ pcmcia-cs-2.9.?.tar.gz.  BΩdzie tam
  196.   przewa┐nie kilka wersji. Z regu│y trzymam najnowsz▒ podwersjΩ wersji
  197.   g│≤wnej. Nowe wersje g│≤wne mog▒ zawieraµ wzglΩdnie nieprzetestowany
  198.   kod, tak wiΩc trzymam tak┐e najnowsz▒ wersjΩ poprzedniej wersji
  199.   g│≤wnej jako wzglΩdn▒ stabiln▒ wersjΩ, do kt≤rej mo┐na siΩ cofn▒µ;
  200.   bie┐▒c▒ tak▒ wersj▒ jest 2.8.23. To ju┐ zale┐y od ciebie czy
  201.   zdecydujesz siΩ na wersjΩ najnowsz▒ z 2.9.x czy na 2.8.23; w pliku
  202.   CHANGES znajduj▒ siΩ najwa┐niejsze r≤┐nice.
  203.  
  204.   Adres hyper.stanford.edu jest mirrorowany pod adresem sunsite.unc.edu
  205.   w katalogu /pub/Linux/kernel/pcmcia.  [Od t│umacza.]Serwer ten z kolei
  206.   jest mirrorowany w Polsce pod adresem ftp.icm.edu.pl.
  207.   Postaram siΩ te┐ umieszczaµ g│≤wne wersje na tsx-11.mit.edu w katalogu
  208.   /pub/linux/packages/laptops/pcmcia teraz i p≤╝niej.
  209.  
  210.   Je╢li nie czujesz siΩ na si│ach, ┐eby skompilowaµ sterowniki do
  211.   PCMCIA, w wersji bie┐▒cej s▒ zawarte pre-kompilowane sterowniki w
  212.   najpopularniejszych dystrybucjach: Slackware, Red Hat, Caldera i
  213.   Yggdrasil, miΩdzy innymi.
  214.  
  215.  
  216.   1.4.  Jakie systemy s▒ obs│ugiwane ?
  217.  
  218.  
  219.   Kod ten powinien dzia│aµ na prawie wszystkich laptopach nadaj▒cych siΩ
  220.   do Linux-a. Obs│ugiwane s▒ wszystkie popularne kontrolery PCMCIA
  221.   w│▒czaj▒c w to Intel, Cirrus, Vadem, VLSI, Ricoh i Databook.
  222.   Kontrolery ustawiane u┐ywane w IBM i Toshiba-ch tak┐e s▒ obs│ugiwane.
  223.   Doki (docks) kart PCMCIA dla system≤w typu desktop tak┐e powinny
  224.   dzia│aµ tak d│ugo, dop≤ki s▒ tego typu, ┐e wk│ada siΩ je bezpo╢rednio
  225.   do szyny ISA, ni┐ poprzez kontrolery SCSI-PCMCIA czy IDE-PCMCIA.
  226.  
  227.   Kontroler Motorola 6AHC05GA u┐ywany w niekt≤rych laptopach Hyundaia
  228.   nie jest obs│ugiwany. Kontrolery ustawiane w HP Omnibook 600 nie s▒
  229.   obs│ugiwane. Kontroler mostka PCI-CardBus (od SMC, Ricoh-a, Cirrus-a i
  230.   TI) jest obecnie obs│ugiwany tylko w przypadku trybu 16-bitowego, a i
  231.   tak obs│uga ta jest ci▒gle trochΩ eksperymentalna.
  232.  
  233.  
  234.   1.5.  Jakie karty PCMCIA s▒ obs│ugiwane?
  235.  
  236.  
  237.   Wersja obecna zawiera sterowniki dla r≤┐nych kart ethernetowych,
  238.   sterownik do modemu, kart port≤w szeregowych, niekt≤rych kontroler≤w
  239.   SCSI, sterownik do kart ATA/IDE oraz sterowniki do kart pamiΩci kt≤re
  240.   powinny obs│ugiwaµ wiΩkszo╢µ kart SRAM i niekt≤re karty flash. Plik
  241.   SUPPORTED.CARDS zawarty w ka┐dej wersji Card Services zawiera
  242.   wszystkie karty jakie dzia│aj▒ w przynajmniej jednym w│a╢ciwym
  243.   systemie.
  244.  
  245.   Prawdopodobie±stwo tego, ┐e karta nie wymieniona w tym pliku bΩdzie
  246.   dzia│aµ zale┐y od typu tej karty. Zasadniczo wszystkie modemy powinny
  247.   dzia│aµ z zawartym sterownikiem. Niekt≤re karty sieciowe mog▒ dzia│aµ
  248.   je╢li s▒ wersjami OEM karty obs│ugiwanej. Inne typy kart IO (bufory
  249.   ramkowe, karty d╝wiΩkowe itd.) nie bΩd▒ dzia│aµ dop≤ki kto╢ nie
  250.   napisze odpowiednich sterownik≤w.
  251.  
  252.  
  253.   1.6.  Kiedy moja nowa karta bΩdzie obs│ugiwana ?
  254.  
  255.  
  256.   Niestety, nikt mi z regu│y nie p│aci za pisanie sterownik≤w, tak wiΩc
  257.   je╢li chcesz mieµ sterownik do swojej ulubionej karty, bΩdziesz
  258.   przypuszczalnie musia│ zrobiµ czΩ╢µ roboty na w│asn▒ rekΩ. W wersji
  259.   idelanej, chcia│bym siΩ kierowaµ w stronΩ modelu zbli┐onego do j▒dra
  260.   Linux-a, gdzie bΩdΩ g│≤wnie odpowiedzialny za "rdze±" kodu do PCMCIA a
  261.   inni autorzy pisaliby sterowniki do konkretnych urz▒dze±. W pliku
  262.   SUPPORTED.CARDS wspomniane s▒ niekt≤re karty, dla kt≤rych sterownik
  263.   jest w trakcie pisania. BΩdΩ siΩ stara│ pom≤c gdzie tylko mogΩ ale
  264.   miej na uwadze, ┐e ╢ledzenie (debugging) sterownik≤w do urz▒dze± w
  265.   j▒drze poprzez e-mail nie jest zbytnio efektywne.
  266.  
  267.   Producenci zainteresowani pomoc▒ w tworzeniu obs│ugi ich urz▒dze± mog▒
  268.   siΩ ze mn▒ skontaktowaµ w sprawie konkret≤w.
  269.  
  270.  
  271.   1.7.  Listy dyskusyjne.
  272.  
  273.  
  274.   Kiedy╢ zajmowa│em siΩ baz▒ danych i list▒ dyskusyjn▒ na temat
  275.   u┐ytkownik≤w Linux-a na PCMCIA. Ostatnio zmieni│em swoj▒ stronΩ WWW z
  276.   informacjami na temat PCMCIA w stronΩ "HyperNews", ze zbiorem
  277.   wiadomo╢ci na temat PCMCIA w Linux-ie. S▒ listy na temat instalacji i
  278.   konfiguracji, na temat r≤┐nych typ≤w kart oraz na temat programowania
  279.   i ╢ledzenia (debug) pod PCMCIA. Strona z informacjami na temat PCMCIA
  280.   jest pod adresem
  281.   http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html
  282.   <http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html>.
  283.   U┐ytkownicy mog▒ ustawiµ sobie opcjΩ informowania poprzez email o
  284.   nowych odpowiedziach na konkretne pytania, albo o wszystkich nowych
  285.   wiadomo╢ciach w danej kategorii. Mam nadziejΩ, ┐e stanie siΩ to
  286.   u┐ytecznym archwium informacji dla pyta±, kt≤re wychodz▒ poza tre╢µ
  287.   tego HOWTO.
  288.  
  289.   Jest lista dyskusyjna, kt≤rej tematem jest Linux na laptopie - lista
  290.   "linux-laptop". Aby uzyskaµ wiΩcej informacji, wy╢lij list zawieraj▒cy
  291.   s│owo "help" na adres majordomo@vger.rutgers.edu. Aby zapisaµ siΩ na
  292.   tΩ listΩ, wy╢lij list zawieraj▒cy │a±cuch "subscribe linux-laptop" na
  293.   ten sam adres. Lista ta mo┐e byµ dobrym forum dyskusyjnym na temat
  294.   Linux-a na PCMCIA.
  295.  
  296.   Na Stronie Domowej Linux-a na Laptopy
  297.   http://www.cs.utexas.edu/users/kharker/linux-laptop znajduje siΩ wiele
  298.   odwo│a± do adres≤w, na kt≤rych s▒ informacje na temat konfigurowania
  299.   Linux-a na konkretnych typach laptop≤w. Jest tak┐e przeszukiwalna baza
  300.   danych na temat konfiguracji systemu.
  301.  
  302.  
  303.   2.  Kompilacja, instalacja i konfiguracja.
  304.  
  305.  
  306.  
  307.   2.1.  Wymagania i ustawienia j▒dra.
  308.  
  309.  
  310.   Zanim zaczniesz, powiniene╢ pomy╢leµ czy rzeczywi╢cie musisz samemu
  311.   skompilowaµ pakiet PCMCIA. Wszyskie popularne dystrybucje Linux-a s▒
  312.   dostarczane wraz z pakietami zawieraj▒cymi skompilowane sterowniki dla
  313.   PCMCIA. Og≤lnie musisz tylko zainstalowaµ od nowa sterowniki je╢li
  314.   potrzebujesz jakiej╢ nowej cechy obecnych sterownik≤w albo je╢li
  315.   zaktualizowa│e╢ czy przekonfigurowa│e╢ j▒dro tak, ┐e przesta│o byµ
  316.   kompatybilne ze sterownikami przychodz▒cymi z dystrybucj▒. Chocia┐
  317.   kompilacja pakietu PCMCIA nie jest trudna technicznie, to wymaga
  318.   jednak pewnego obycia z Linux-em.
  319.  
  320.   NastΩpuj▒ce elementy powinny byµ zainstalowane w twoim systemie zanim
  321.   zaczniesz instalowaµ PCMCIA:
  322.  
  323.  
  324.   ╖  Jedno z nastΩpuj▒cych j▒der:  1.2.8 do 1.2.13, 1.3.30, 1.3.37,
  325.      1.3.39 do 1.3.99, 1.99.* (czyli, pre-2.0), 2.0.* lub 2.1.*.
  326.  
  327.   ╖  Bie┐▒ca wersja pakietu z modu│ami i narzΩdziami do nich.
  328.  
  329.   ╖  (Opcjonalnie) "Forms" - interface dla u┐ytkownika pod X11.
  330.  
  331.   Wersja najnowsza wymaga j▒dra w wersji 1.2.8 lub wy┐szej, albo j▒dra z
  332.   serii testowych 1.3.30 lub wy┐sze, 1.3.38 jest definitywnie popsute, a
  333.   1.3.31 do 1.3.36 nie s▒ przetestowane.  Wymaga tak┐e wzglΩdnie ╢wie┐ej
  334.   wersji narzΩdzi do modu│≤w. Nie ma │at na j▒dro specyficznych dla
  335.   PCMCIA.
  336.  
  337.   Musiz mieµ pe│ne drzewo ╝r≤de│ j▒dra, nie tylko aktualny obraz j▒dra,
  338.   aby skompilowaµ pakiet PCMCIA. Modu│y PCMCIA zawieraj▒ niekt≤re
  339.   odwo│ania do plik≤w ze ╝r≤de│ j▒dra. O ile ty mo┐esz chcieµ
  340.   skompilowaµ nowe j▒dro, ┐eby usun▒µ niepotrzebne sterowniki,
  341.   instalacja PCMCIA nie wymaga tego.
  342.  
  343.   Bie┐▒ce stabilne wersje ╝r≤de│ j▒dra oraz │aty do niego s▒ dostΩpne
  344.   pod adresem ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.0. Bie┐▒ca wersja
  345.   narzΩdzi jest pod tym samym adresem w pliku modules-2.0.0.tgz.  J▒dra
  346.   w wersji rozwojowej znajduj▒ siΩ pod adresem
  347.   ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.1.
  348.  
  349.   W pliku Documentation/Changes znajduj▒ siΩ opisy wersji wszystkich
  350.   rodzaj≤w innych sk│adnik≤w systemu, kt≤re s▒ wymagane dla tej wersji
  351.   j▒dra. Mo┐esz sprawdziµ tΩ listΩ i upewniµ siΩ czy tw≤j system jest
  352.   aktualny, szczeg≤lnie je╢li ostatnio uaktualnia│e╢ j▒dro. Je╢li
  353.   u┐ywasz j▒dra 2.1, upewnij siΩ, ┐e u┐ywasz poprawnej kombinacji
  354.   bibliotek dzielonych i narzΩdzi do modu│≤w. Najnowsze wersje narzΩdzi
  355.   do modu│≤w, tak samo jak wersje dla starszych j▒der mo┐na znale╝µ pod
  356.   adresem http://www.pi.se/blox/modules.
  357.  
  358.   Je╢li planujesz u┐ywanie karty ethernetowej PCMCIA podczas
  359.   konfigurowania twojego j▒dra powiniene╢ w│▒czyµ obs│ugΩ sieci, ale
  360.   wy│▒cz obs│ugΩ zwyk│ych kart sieciowych, w│▒czaj▒c w to "pocket and
  361.   portable adapters". Sterowniki do kart sieciowych PCMCIA s▒
  362.   zaimplementowane jako │adowalne modu│y. Jakiekolwiek sterowniki
  363.   wkompilowane w twoje j▒dro bΩd▒ tylko zabieraµ miejsce.
  364.  
  365.   Je╢li chcesz u┐ywaµ SLIP-a, PPP czy PLIP-a musisz albo skonfigurowaµ
  366.   twoje j▒dro z w│▒czonymi tymi opcjami, albo u┐yµ modu│≤w │adowalnych
  367.   tych sterownik≤w. Niestety w j▒drze w wersji 1.2.X nie mo┐na
  368.   skompilowaµ pewnych opcji jako modu│y │adowalne (jak np. kompresja
  369.   SLIP-a) wiΩc najlepiej bΩdzie je╢li wkompilujesz ten sterownik do
  370.   j▒dra je╢li go potrzebujesz.
  371.  
  372.   Je╢li chcesz u┐ywaµ kontrolera Token Ring do PCMCIA, musisz
  373.   wkompilowaµ obs│ugΩ Token Ring do swojego j▒dra - "Token Ring driver
  374.   support", ale powiniene╢ wy│▒czyµ CONFIG_IBMTR.
  375.  
  376.   Je╢li chcesz u┐ywaµ kontrolera IDE PCMCIA, musisz w│▒czyµ opcjΩ
  377.   CONFIG_BLK_DEV_IDE_PCMCIA, w j▒drach w wersji 1.3.72 do 2.1.7. Starsze
  378.   j▒dra nie obs│uguj▒ urz▒dze± IDE. nowsze j▒dra nie wymagaj▒
  379.   specjalnych ustawie±.
  380.  
  381.   Je╢li bΩdziesz u┐ywa│ kontrolera SCSI PCMCIA, powiniene╢ w│▒czyµ opcjΩ
  382.   CONFIG_SCSI podczas konfiguracji j▒dra. W│▒cz tak┐e wszelkie
  383.   sterowniki "top level" (dyski SCSI, ta╢my, CD-ROM-y, generic), kt≤rych
  384.   spodziewasz siΩ u┐ywaµ. Wszystkie sterowniki "low level" dla
  385.   konkretnych kontroler≤w powinny byµ wy│▒czone, poniewa┐ bΩd▒ tylko
  386.   zajmowaµ miejsce.
  387.  
  388.   Je╢li chcesz zmodularyzowaµ sterownik, kt≤ry jest potrzebny do
  389.   urz▒dzenia PCMCIA, musisz zmodyfikowaµ plik /etc/pcmcia/config, aby
  390.   podaµ, kt≤re modu│y maj▒ byµ za│adowane dla kt≤rych typ≤w kart. Na
  391.   przyk│ad, je╢li sterownik szeregowy jest zmodularyzowany, wtedy
  392.   m≤g│by╢ zmieniµ definicjΩ urz▒dzenia szeregowego na:
  393.  
  394.  
  395.  
  396.  
  397.      device "serial_cs"
  398.      class "serial" module "misc/serial", "serial_cs"
  399.  
  400.  
  401.  
  402.   Pakiet ten zawiera narzΩdzie do podawania statusu karty oparte na X11
  403.   - cardinfo. NarzΩdzie to jest oparte na wolno dystrybuowanym
  404.   interfejsie zwanym "Forms Library", kt≤re bΩdziesz musia│ zainstalowaµ
  405.   przed stworzeniem cardinfo.  Dystrybucja binarna jest na
  406.   hyper.stanford.edu. S▒ tam wersje a.out oraz ELF.  BΩdziesz tak┐e
  407.   musia│ mieµ wszystkie normalne pliki nag│≤wkowe pod X i biblioteki.
  408.  
  409.  
  410.   2.2.  Instalacja.
  411.  
  412.  
  413.   Oto streszczenie procesu instalacji:
  414.  
  415.  
  416.   ╖  Rozpakuj pcmcia-cs-2.9.?.tar.gz w /usr/src.
  417.  
  418.   ╖  Uruchom make config w nowym katalogu pcmcia-cs-2.9.?
  419.  
  420.   ╖  Uruchom make all, potem make install.
  421.  
  422.   ╖  Ustaw skrypty startowe dla PCMCIA i pliki opcji w /etc/pcmcia
  423.      odpowiednio dla twojego systemu.
  424.  
  425.   Je╢li planujesz zainstalowaµ jakie╢ dodatkowe sterowniki klienta nie
  426.   zawarte w dystrybucji PCMCIA, rozpakuj ka┐dy z nich w g│≤wnym katalogu
  427.   ╝r≤de│ PCMCIA. Potem postΩpuj zgodnie z normalnymi instrukcjami
  428.   kompilacji. Dodatkowe sterowniki zostan▒ skompilowane i zainstalowane
  429.   automatycznie.
  430.  
  431.   Uruchomienie make config zapyta o kilka opcji konfiguracyjnych i
  432.   sprawdzi tw≤j system, aby zweryfikowaµ czy spe│nia on wszystkie
  433.   wymagania instalacji obs│ugi PCMCIA. W wiΩkszo╢ci przypadk≤w, bΩdziesz
  434.   po prostu akceptowa│ wszystkie domy╢lne opcje. Upewnij siΩ, ┐e
  435.   dok│adnie sprawdzi│e╢ komunikaty wyj╢ciowe w razie b│Ωd≤w.
  436.  
  437.   Je╢li kompilujesz zestaw PCMCIA do instalacji na inn▒ maszynΩ, podaj
  438.   alternatywny katalog docelowy kiedy zostaniesz zapytany przez skrypt
  439.   konfiguracyjny. Powinna to byµ ╢cie┐ka bezwzglΩdna.  Wszystkie
  440.   narzΩdzia do PCMCIA zostan▒ zainstalowane wzglΩdem tego katalogu.
  441.   BΩdziesz m≤g│ nastΩpnie "zarchiwizowaµ" ten katalog poleceniem tar i
  442.   skopiowaµ go na maszynΩ docelow▒, a nastΩpnie rozpakowaµ wzglΩdem jej
  443.   katalogo g│≤wnego, aby zainstalowaµ wszystko we w│a╢ciwym miejscu.
  444.  
  445.   Je╢li "cross-kompilujesz" na innej maszynie, mo┐esz podaµ alternatywne
  446.   nazwy kompilatora i linkera. Mo┐e to byµ tak┐e pomocne na systemach z
  447.   pomieszan▒ architektur▒ a.out i ELF. Skrypt zapyta tak┐e o dodatkowe
  448.   opcje ╢ledzenia dla kompilatora.
  449.  
  450.   Niekt≤re z narzΩdzi wspieraj▒cych (cardctl i cardinfo) mog▒ byµ
  451.   skompilowane w formie "safe" (bezpiecznej) lub "trusting" (ufaj▒cej).
  452.   Forma bezpieczna nie pozwala u┐ytkownikom innym ni┐ root na
  453.   modyfikacjΩ konfiguracji karty.  Forma ufaj▒ca pozwala zwyk│emu
  454.   u┐ytkownikowi na zawieszenie, odwieszenie i reset karty oraz na zmianΩ
  455.   bie┐▒cej konfiguracji.  Skrypt konfiguracyjny zapyta ciΩ czy chcesz
  456.   skompilowaµ narzΩdzia jako "safe" czy "trusting"; warto╢ci▒ domy╢ln▒
  457.   jest "safe".
  458.  
  459.   Jest kilka opcji konfiguracji j▒dra kt≤re maj▒ wp│ywa na narzΩdzia do
  460.   PCMCIA. Skrypt konfiguracyjny mo┐e je wywnioskowaµ z dzia│aj▒cego
  461.   j▒dra (najpopularniejszy przypadek). Alternatywnie, je╢li kompilujesz
  462.   do instalacji na inn▒ maszynΩ mo┐e przeczytaµ konfiguracjΩ z drzewa
  463.   ╝r≤de│ j▒dra, albo ka┐da opcja mo┐e byµ podana interaktywnie.
  464.  
  465.   Uruchomienie make all a potem make install stworzy i nastΩpnie
  466.   zainstaluje modu│y do j▒dra i programy narzΩdziowe.  Modu│y do j▒dra
  467.   s▒ instalowane w /lib/modules/<wersja>/pcmcia.  Programy cardmgr i
  468.   cardctl s▒ instalowane w /sbin.  Je╢li tworzony jest cardinfo, to
  469.   instalowany jest on w /usr/bin/X11.
  470.  
  471.   Pliki konfiguracyjne zostan▒ zainstalowane w /etc/pcmcia.  Je╢li
  472.   instalujesz na starej wersji, twoje stare pliki konfiguracyjne zostan▒
  473.   zarchiwizowane przed skasowaniem ich.  Zachowanym skryptom zostan▒
  474.   nadane rozszerzenia w stylu *.~1~, *.~2~.
  475.  
  476.   Je╢li nie wiesz jakiego typu jest tw≤j kontroler, to mo┐esz u┐yµ
  477.   narzΩdzia probe z podkatalogu cardmgr, aby go wykryµ. S▒ dwa g│≤wne
  478.   typy: Databook TCIC-2 i kompatybilne  z Intel i82365SL.
  479.  
  480.   Demon na poziomie u┐ytkownika obs│uguje w│o┐enie i wyjΩcie karty.
  481.   Nazywa siΩ on cardmgr. Jest podobny w funkcjonowaniu do wcze╢niejszej
  482.   wersji pcmciad Barry'ego Jaspana. Cardmgr czyta plik konfiguracyjny
  483.   opisuj▒cy znane karty PCMCIA z /etc/pcmcia/config. W pliku tym zawarte
  484.   jest jakie zasoby mog▒ byµ zaalokowane dla u┐ycia przez urz▒dzenia
  485.   PCMCIA, i mog▒ byµ zmodyfikowane dla twojego systemu. Zobacz stronΩ w
  486.   podrΩczniku systemowym "man" na temat pcmcia, aby dowiedzieµ siΩ
  487.   wiΩcej na temat tego pliku.
  488.  
  489.  
  490.   2.3.  Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych
  491.   a'la BSD.
  492.  
  493.  
  494.   Niekt≤re dystrybucje Linux-a, w│▒czaj▒c Slackware, u┐ywaj▒ systemu
  495.   skrypt≤w a'la BSD. Je╢li istnieje plik /etc/rc.d/rc.M, to tw≤j system
  496.   zalicza siΩ do tej grupy.
  497.   Skrypt rc.pcmcia, zainstalowany w /etc/rc.d kontroluje startowanie i
  498.   wy│▒czanie systemu PCMCIA.
  499.   make install u┐yje polecenia probe, aby wykryµ typ twojego kontrolera
  500.   i odpowiednio zmodyfikowaµ rc.pcmcia.  Powiniene╢ dodaµ do skryptu
  501.   startowego /etc/rc.d/rc.M liniΩ, kt≤ra wywo│uje skrypt startowy
  502.   PCMCIA, np. tak:
  503.  
  504.  
  505.        /etc/rc.d/rc.pcmcia start
  506.  
  507.  
  508.  
  509.   W│a╢ciwie nie ma znaczenia, gdzie umie╢cisz ten plik, tak d│ugo jak
  510.   sterowniki PCMCIA s▒ startowane po syslogd.
  511.  
  512.  
  513.   2.4.  Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych
  514.   a'la SYS V.
  515.  
  516.  
  517.   Red Hat, Caldera i Debian maj▒ ten w│a╢nie system. Je╢li masz katalog
  518.   /etc/init.d albo /etc/rc.d/init.d, to tw≤j system jest w tej grupie.
  519.   Skrypt rc.pcmcia zostanie zainstalowany jako /etc/rc.d/init.d/pcmcia,
  520.   lub /etc/init.d/pcmcia. Nie ma potrzeby edytowania ┐adnego skryptu
  521.   startowego, aby w│▒czyµ PCMCIA: zostanie to zrobione automatycznie.
  522.  
  523.   Je╢li istnieje katalog /etc/sysconfig, wtedy zostanie utworzony
  524.   oddzielny plik konfiguracyjny /etc/sysconfig/pcmcia z opcjami
  525.   startowymi. Je╢li musisz zmieniµ jakiekolwiek opcje modu│≤w (jak PCIC=
  526.   czy PCIC_OPTS=) modyfikuj raczej ten plik konfiguracyjny ani┐eli
  527.   w│a╢ciwy skrypt startowy PCMCIA. Plik ten nie zostanie skasowny przez
  528.   kolejne instalacje.
  529.   Niekt≤re wcze╢niejsze wersje u┐ywa│y katalogu /etc/sysconfig/pcmcia-
  530.   scripts zamiast /etc/pcmcia na tych platformach. Wersja bie┐▒ca
  531.   natomiast u┐ywa /etc/pcmcia dla wszystkich system≤w, a istniej▒cy
  532.   /etc/sysconfig/pcmcia-scripts przeniesie do /etc/pcmcia.
  533.  
  534.  
  535.   2.5.  Opcje konfiguracji specyficzne dla danego systemu.
  536.  
  537.  
  538.   Pakiet Card Services powinien automatycznie zapobiegaµ alokacji port≤w
  539.   IO i przerwa±, kt≤re s▒ ju┐ u┐ywane przez inne urz▒dzenia.  Spr≤buje
  540.   on tak┐e wykryµ konflikty z nieznanymi urz▒dzeniami, ale nie jest to w
  541.   pe│ni godne zaufania. W niekt≤rych przypadkach, muisz wyra╝nie podaµ
  542.   zasoby, kt≤re maj▒ byµ niedostΩpne dla danego urz▒dzenia w pliku
  543.   /etc/pcmcia/config.opts.
  544.  
  545.   Oto niekt≤re ustawienia zasob≤w dla specyficznych typ≤w laptop≤w.
  546.  
  547.  
  548.   ╖  W AMS SoundPro wy│▒cz IRQ 10.
  549.  
  550.   ╖  W niekt≤rych modelach TravelPro 5300 u┐yj adres≤w pamiΩci
  551.      0xc8000-0xcffff.
  552.  
  553.   ╖  W BMX 486DX2-66 wy│▒cz IRQ 5 i 9
  554.  
  555.   ╖  W Chicony NB5 u┐yj adres≤w pamiΩci 0xda000-0xdFFFF.
  556.  
  557.   ╖  Na Compaq Presario 1020, wy│▒cz porty 0x2F8-0x2FF, IRQ 3 i IRQ 5.
  558.  
  559.   ╖  W HP Omnibook 4000C wy│▒cz porty 0x300-0x30F.
  560.  
  561.   ╖  Na Micron Millenia Transport, wy│▒cz IRQ 5, IRQ 9.
  562.  
  563.   ╖  W NEC Versa M, wy│▒cz IRQ 9 i porty 0x2E0-2FF.
  564.  
  565.   ╖  W NEC Versa P/75 wy│▒cz IRQ 5 i 9.
  566.  
  567.   ╖  W NEC Versa S wy│▒cz IRQ 9 i 12.
  568.  
  569.   ╖  W NEC Versa seria 6000 wy│▒cz porty 0x300-0x33f, IRQ 9 i 10.
  570.  
  571.   ╖  W ProStar 9200, Altima Virage i Acquiline Hurricane DX4-100 wy│▒cz
  572.      IRQ 5 i porty 0x330-0x35f. U┐yj mo┐e adres≤w pamiΩci
  573.      0xd8000-0xdffff.
  574.  
  575.   ╖  W Siemens Nixdorf SIMATIC PG 720C u┐yj adres≤w pamiΩci
  576.      0xc0000-0xcffff i port≤w 0x300-0x3bf.
  577.  
  578.   ╖  W TI TravelMate 5000 u┐yj adres≤w pamiΩci 0xd4000-0xdffff.
  579.  
  580.   ╖  W Toshiba T4900 CT wy│▒cz IRQ 5, porty 0x2E0-0x2E8 i 0x330-0x338.
  581.  
  582.   ╖  W Twinhead 5100, HP 4000, Sharp PC-8700 i PC-8900 wy│▒cz IRQ 9
  583.      (d╝wiΩk) i 12
  584.  
  585.   ╖  W MPC seria 800 wy│▒cz IRQ i porty 0x300-0x30f dla CD-ROM-u.
  586.  
  587.   Niekt≤re kontrolery PCMCIA maj▒ opcjonalne zalety, kt≤re mog▒ byµ
  588.   zaimplementowane w danym systemie, ale nie musz▒. Generalnie jest
  589.   niemo┐liwe dla sterownika gniazdka (socket driver), aby wykryµ czy te
  590.   zalety s▒ zaimplementowane. Sprawd╝ stronΩ w podrΩczniku systemowym na
  591.   temat swojego sterownika, aby zobaczyµ jakie opcjonalne zalety mog▒
  592.   byµ w│▒czone.
  593.  
  594.  
  595.   W kilku przypadkach polecenie probe nie bΩdzie w stanie wykryµ
  596.   automatycznie typu twojego kontrolera. Je╢li masz system Halikan NBD
  597.   486, to jego kontroler TCIC-2 znajduje siΩ w niezwyk│ym miejscu:
  598.   bΩdziesz musia│ zmodyfikowaµ rc.pcmcia, aby za│adowaµ modu│ tcic oraz
  599.   ustawiµ PCIC_OPTS na tcic_base=0x2C0.
  600.  
  601.   Sterowniki gniazda typu "low level" tcic i i82365 maj▒ liczne
  602.   parametry do timing-≤w szyny, kt≤re mo┐e bΩdzie trzeba ustawiµ dla
  603.   system≤w ze szczeg≤lnie szybkimi procesorami. Symptomy problem≤w z
  604.   timing-ami zawieraj▒ problemy z wykryciem karty, zawi╢niΩcia przy
  605.   du┐ym za│adowaniu systemu, du┐e ╢rednie b│Ωd≤w, albo z│a wydajno╢µ
  606.   urz▒dze±. Sprawd╝ odpowiednie strony w podrΩczniku systemowym, aby
  607.   dowiedzieµ siΩ wiΩcej szczeg≤│≤w. A tu jest kr≤tkie podsumowanie:
  608.  
  609.  
  610.   ╖  Kontrolery Cirrus maj▒ liczne konfigurowalne parametry timing-≤w.
  611.      Najwa┐niejszy wydaje siΩ byµ cmd_time, kt≤ry okre╢la d│ugo╢µ cyklu
  612.      szyny PCMCIA. Szybkie systemy 486 (np.  DX4-100) wydaj▒ siΩ
  613.      zwiΩkszaµ wydajno╢µ przy zwiΩkszeniu tego parametru z domy╢lnej
  614.      warto╢ci 6 na 12 czy 16.
  615.  
  616.   ╖  Kontroler Cirrus PD6729 PCI ma parametr fast_pci, kt≤ry powinien
  617.      byµ ustawiony je╢li szybko╢µ szyny PCI jest wiΩksza ni┐ 25 MHz.
  618.  
  619.   ╖  W kontrolerach Vadem VG-468 i Databook TCIC-2 parametr async_clock
  620.      zmienia wzglΩdne taktowanie szyny PCMCIA i cykle szyny host.
  621.      Ustawienie tego parametru spowoduje dodanie stan≤w oczekiwania na
  622.      niekt≤re operacje. Chocia┐ jeszcze nie s│ysza│em o jakim╢ laptopie,
  623.      kt≤ry by tego potrzebowa│.
  624.  
  625.   ╖  Modu│ pcmcia_core posiada parametr cis_speed, kt≤ry zmienia
  626.      prΩdko╢µ pamiΩci u┐ywan▒ dla dostΩpu do Card Information Structure
  627.      (CIS). Na niekt≤rych systemach z szybkimi zegarami szynowymi,
  628.      zwiΩkszanie tego parametru (czyli zwalnianie dostΩpu do kart) mo┐e
  629.      przynie╢µ po┐ytek przy problemach z rozpoznaniem karty.
  630.  
  631.   ╖  To nie jest sprawa timing-≤w, ale je╢li masz wiΩcej ni┐ jeden
  632.      kontroler PCMCIA w twoim systemie, albo jakie╢ dodatkowe gniazda w
  633.      stacji dokowania (docking station), powiniene╢ za│adowaµ modu│
  634.      i82365 z parametrem extra_sockets ustawionym na 1.
  635.  
  636.   Wszystkie te opcje powinny byµ skonfigurowane przez modyfikowanie
  637.   pocz▒tku pliku /etc/rc.d/rc.pcmcia. Na przyk│ad:
  638.  
  639.  
  640.      # Albo i82365 albo tic
  641.      PCIC=i82365
  642.      # Wstaw tu parametry timing-≤w dla sterownika gniazd
  643.      PCIC_OPTS="cmd_time=12"
  644.      # Wstaw tu opcje pcmcia_core
  645.      CORE_OPTS="cis_speed=500"
  646.  
  647.  
  648.  
  649.   Oto niekt≤re ustawienia timing-≤w dla specyficznych sytem≤w:
  650.  
  651.  
  652.   ╖  W ARM Pentium-90 albo Midwest Micro Soundbook Plus u┐yj
  653.      freq_bypass=1 cmd_time=8.
  654.  
  655.   ╖  W Midwest Micro Soundbook Elite u┐yj cmd_time=12.
  656.  
  657.   ╖  W Gateway Liberty spr≤buj cmd_time=16.
  658.  
  659.   W niekt≤rych systemach u┐ywaj▒cych kontrolera Cirrusa, w│▒czaj▒c NEC
  660.   Versa M, BIOS ustawia kontroler w specyficzny stan zawieszenia podczas
  661.   startu systemu. W tych systemach, polecenie probe nie powiedzie siΩ.
  662.   Je╢li tak siΩ zdarzy, zmodyfikuj plik /etc/rc.d/rc.pcmcia rΩcznie tak:
  663.  
  664.  
  665.      # Wstaw tu parametry timing-≤w dla sterownika gniazd
  666.      PCIC=i82365
  667.      # Wstaw tu opcje pcmcia_core
  668.      PCIC_OPTS="wakeup=1"
  669.  
  670.  
  671.  
  672.  
  673.   2.6.  Problemy podczas │adowania modu│≤w j▒dra.
  674.  
  675.  
  676.   Skrypt konfiguracyjny normalnie upewni siΩ czy modu│y PCMCIA s▒
  677.   kompatybilne z twoim j▒drem. Tak wiΩc, problemy podczas │adownia
  678.   modu│≤w wskazuje z regu│y na to, ┐e u┐ytkownik ingerowa│ w jaki╢
  679.   spos≤b w normalny proces instalacji. Niekt≤re z tych problem≤w s▒
  680.   wysy│ane bezpo╢rednio na konsolΩ Linux-a. Inne b│Ωdy s▒ zapisywane w
  681.   pliku "log-file", zwykle jest to /usr/adm/messages albo
  682.   /var/log/messages. W zale┐no╢ci od konfiguracji twojego syslogd,
  683.   niekt≤re komunikaty mog▒ byµ zapisane do innych plik≤w, kt≤re zwykle
  684.   znajduj▒ siΩ tak┐e w /usr/adm czy var/log. Aby wy╢ledziµ problem,
  685.   upewnij siΩ, ┐e sprawdzi│e╢ obie lokalizacje.
  686.  
  687.   Niekt≤re modu│y PCMCIA wymagaj▒ serwis≤w j▒dra, kt≤re mog▒, ale nie
  688.   musz▒ byµ obecne, zale┐nie od konfiguracji j▒dra. Na przyk│ad,
  689.   sterowniki kart SCSI wymagaj▒ skonfigurowanej obs│ugi SCSI w j▒drze, a
  690.   sterowniki sieci wymagaj▒ skonfigurowania sieci w j▒drze. Je╢li w
  691.   j▒drze brakuje potrzebnego serwisu insmod mo┐e twierdziµ, ┐e s▒
  692.   niezdefiniowane symbole i nie za│adowaµ modu│u.
  693.  
  694.   Je╢li insmod zwraca b│▒d "wrong version", oznacza to, ┐e modu│ by│
  695.   skompilowany dla innej wersji j▒dra ni┐ to, kt≤re akurat dzia│a. Mo┐e
  696.   to siΩ pojawiµ je╢li modu│y skompilowane na jednej maszynie s▒
  697.   kopiowane na drug▒ z inn▒ konfiguracj▒, albo je╢li j▒dro jest
  698.   rekonfigurowane po tym, jak pakiet PCMCIA zosta│ zainstalowany.
  699.  
  700.   Innym ╝r≤d│em b│Ωd≤w podczas │adowana modu│≤w mo┐e byµ to, ┐e modu│y i
  701.   j▒dra by│y skompilowane z r≤┐nymi ustawieniami CONFIG_MODVERSIONS.
  702.   Je╢li modu│ z wkompilowanym sprawdzaniem wersji jest │adowany do j▒dra
  703.   bez sprawdzania wersji, insmod zwr≤ci b│▒d "undefined symbols".
  704.  
  705.   Ostatecznie, wzglΩdnie nowe wersje binutils s▒ niekompatybilne ze
  706.   starszymi wersjami narzΩdzi do modu│≤w, i mog▒ powodowaµ, ┐e s▒
  707.   zwracane takie w│a╢nie b│Ωdy. NajczΩstszym symptomem jest b│▒d o
  708.   niezdefiniowaniu gcc_compiled. Je╢li masz takie b│Ωdy, od╢wie┐
  709.   narzΩdzia do modu│≤w do najnowszej wersji, dostΩpnych z
  710.   ftp.icm.edu.pl.
  711.  
  712.  
  713.   2.7.  Problemy z przerwaniem zmiany statusu karty.
  714.  
  715.  
  716.   W wiΩkszo╢µi wypadk≤w sterownik do gniazd (i82365 albo tcic)
  717.   automatycznie wykryje i wybierze odpowiednie przerwanie, aby
  718.   sygnalizowaµ zmiany statusu karty. Automatyczne wyszukiwanie
  719.   przerwania nie dzia│a na niekt≤rych kontrolerach kompatybilnych z
  720.   Intel-em, w│▒czaj▒c Cirrus-a i niekt≤re IBM ThinkPad. Je╢li urz▒dzenie
  721.   nie jest aktywne w czasie sprawdzania, jego przerwanie mo┐e tak┐e
  722.   pojawiµ siΩ jako niedostΩpne. W takich przypadkach sterownik gniazd
  723.   mo┐e wybraµ przerwanie kt≤re jest u┐ywane przez inne urz▒dzenie.
  724.  
  725.   W sterownikach i82365 i tcic mo┐na u┐ywaµ opcji irq_list aby
  726.   ograniczyµ ilo╢µ wyszukiwanych przerwa±. Lista ta ogranicza zbi≤r
  727.   przerwa±, kt≤re mog▒ byµ u┐yte przez karty PCMCIA oraz do
  728.   monitorowania zmian statusu karty. Opcja cs_irq mo┐e byµ u┐yta, aby
  729.   wyra╝nie okre╢liµ przerwanie, kt≤rego nale┐y u┐yµ do monitorowania
  730.   zmian statusu karty.
  731.  
  732.   Je╢li nie mo┐esz znale╝µ numeru przerwania, kt≤re dzia│a, jest jeszcze
  733.   tryb statusu "polled": oba - i82365 i tcic zaakceptuj▒ opcjΩ
  734.   poll_interval=100, aby sprawdzaµ zmiany statusu karty raz na sekundΩ.
  735.   Opcja ta powinna byµ tak┐e u┐ywana je╢li w twoim systemie brakuje
  736.   dostΩpnych przerwa± dla kart PCMCIA. Szczeg≤lnie w systemach z wiΩcej
  737.   ni┐ jednym kontrolerem PCMCIA, nie ma zbytnio sensu w przeznaczaniu
  738.   przerwa± na monitorowanie zmian statusu kart.
  739.  
  740.   Wszystkie te opcje powinny byµ ustawiane w linii PCIC_OPTS= w pliku
  741.   /etc/rc.d/rc.pcmcia albo /etc/sysconfig/pcmcia zale┐nie od twojego
  742.   systemu.
  743.  
  744.  
  745.   2.8.  Problemy z identyfikacj▒ karty.
  746.  
  747.  
  748.   Domy╢lnie, sterowniki PCMCIA alokuj▒ okna pamiΩci w przestrzeni
  749.   0xC0000-0xFFFFF, po sprawdzeniu czy nie ma w niej jakich╢ konflikt≤w z
  750.   ROM-em czy innymi urz▒dzeniami. To okno pamiΩci jest podane w pliku
  751.   /etc/pcmcia/config.opts. Sprawdzanie ma miejsce przy pierwszej pr≤bie
  752.   skonfigurowania nowej karty.  Procedura sprawdzania nie jest idioto-
  753.   odporna, wiΩc mo┐liwe jest niezidentyfikowanie konfliktu. Je╢li obszar
  754.   ten jest u┐ywany przez inne urz▒dzenia w twoim systemie, karty mog▒
  755.   nie zostaµ zidentyfikowane poprawnie. Przy uk│adach kt≤re to
  756.   obs│uguj▒, konflikt mo┐e te┐ powstawaµ przy przes│anianiu tego obszaru
  757.   pamiΩci.
  758.  
  759.   Klasycznym symptomem problemu z konfiguracj▒ okna pamiΩci jest
  760.   zidentyfikowanie wszystkich kart jako karty pamiΩci. W nadzwyczajnych
  761.   przypadkach konflikt taki mo┐e powstaµ z jakim╢ krytycznym serwisem
  762.   systemowym, co mo┐e powodowaµ zawieszenia czy restarty. Je╢li
  763.   podejrzewasz taki konflikt, sprawd╝ najpierw czy wy│▒czone jest
  764.   przes│anianie ROM-u w ustawieniach twojego sprzΩtu.  Znalezienie
  765.   dobrego okna mo┐e wymagaµ trochΩ eksperyment≤w. Kilka alternatywnych
  766.   okien to: 0xD0000-0xDFFFF, 0xC9000-0xCFFFF i 0xD8000-0xDFFFF.
  767.  
  768.   Je╢li masz sterowniki DOS-owe do PCMCIA, mo┐esz zobaczyµ jakich
  769.   obszar≤w pamiΩci one u┐ywaj▒. Zauwa┐, ┐e adresy pamiΩci w DOS-ie s▒
  770.   czΩsto podawane w formie segment≤w, kt≤ra to obcina ostatni▒ cyfrΩ
  771.   szesnastkow▒ (tak, ┐e adres bezwzglΩdny 0xD0000 by│by podany jako
  772.   0xD000. Upewnij siΩ, ┐e doda│e╢ tΩ jedn▒ cyfrΩ kiedy wpisywa│e╢
  773.   warto╢µ do pliku /etc/pcmcia/config.opts.
  774.  
  775.   Je╢li problem z identyfikacj▒ karty nie zosta│ rozwi▒zany
  776.   dopasowywaniem okien pamiΩci, to prawdopodobnie jest to problem z
  777.   "timing-ami"
  778.  
  779.  
  780.   2.9.  Dlaczego nie dystrybujesz binari≤w do PCMCIA ?
  781.  
  782.  
  783.   Dla mnie, dystrybucja binari≤w jest bardzo niewygodna. Jest to sprawa
  784.   skomplikowana poniewa┐ niekt≤re zalety mog▒ byµ podane dopiero w
  785.   czasie kompilacji, oraz dlatego, ┐e modu│y PCMCIA s▒ zale┐ne od
  786.   "poprawnej" konfiguracji j▒dra. WiΩc musia│bym przypuszczalnie
  787.   dystrybu│owaµ prekompilowane modu│y wraz z odpowiednimi wersjami
  788.   j▒der. Id▒c dalej, prekompilowane modu│y s▒ najbardziej potrzebne
  789.   kiedy instalujemy Linux-a od pocz▒tku. To z regu│y wymaga ustawienia
  790.   PCMCIA tak, ┐eby mo┐na jej by│o u┐yµ w procesie instalacji dla
  791.   konkretnej dystrybucji Linux-a. Ka┐da dystrybucja Linux-a ma w│asn▒
  792.   procedurΩ, i nie jest dla mnie wykonalnym udostΩpniaµ dyskietki "boot"
  793.   i "root" chcocia┐by tylko dla tych najbardziej popularnych kombinacji
  794.   sterownik≤w i dystrybucji.
  795.  
  796.   PCMCIA jest teraz czΩ╢ci▒ wiΩkszo╢ci wa┐niejszych dystrybucji,
  797.   w│▒czaj▒c Red Hat, Caldera, Slackware, Yggdrasil, Craftworks oraz
  798.   Nascent Technology.
  799.  
  800.  
  801.   2.10.  Dlaczego ten pakiet jest taki wielki ?
  802.  
  803.  
  804.   No c≤┐, po pierwsze, to on wcale nie jest taki wielki. Wszystkie
  805.   modu│y sterownik≤w razem wziΩte zajmuj▒ jakie╢ 200k. Programy
  806.   narzΩdziowe dodaj▒ jeszcze jakie╢ 70k, a rzeczy w /etc/pcmcia zajmuj▒
  807.   jakie╢ 30k. Podczas dzia│ania, rdze± modu│≤w PCMCIA zabiera oko│o 48k
  808.   pamiΩci systemowej. Demon cardmgr z regu│y jest wyswapowywany opr≤cz
  809.   moment≤w kiedy karty s▒ wsadzane lub wyjmowane. Ca│kowita objΩto╢µ
  810.   pakietu nie wiele r≤┐ni siΩ od implementacji Card Services pod DOS-a.
  811.  
  812.   W por≤wnaniu z DOS-owymi "w│▒cznikami", mo┐e siΩ to wydawaµ trochΩ
  813.   przesadzone, szczeg≤lnie dla ludzi, kt≤rzy nie planuj▒ u┐ywaµ tych
  814.   wszystkich zalet jakie posiada PCMCIA, jak np. zarz▒dzanie zasilaniem
  815.   czy "gor▒ce wymiany". "W│▒czniki" mog▒ byµ malutkie poniewa┐
  816.   generalnie obs│uguj▒ one ograniczon▒ ilo╢µ kontroler≤w PCMCIA. Je╢li
  817.   kto╢ mia│by napisaµ autentycznie "og≤lny" "w│▒cznik" do modemu,
  818.   sko±ycz│oby siΩ na tym, ┐e pojawi│aby siΩ tam wiΩkszo╢µ funkcji z Card
  819.   Services, aby obs│u┐yµ karty od r≤┐nych sprzedawc≤w oraz pe│ny zakres
  820.   r≤┐nych wariant≤w kontroler≤w PCMCIA.
  821.  
  822.  
  823.   3.  Stosowanie i zalety.
  824.  
  825.  
  826.  
  827.   3.1.  NarzΩdzia do monitorowania urz▒dze± PCMCIA.
  828.  
  829.  
  830.   Demon cardmgr normalnie wydaje sygna│ d╝wiΩkowy (beep) kiedy karta
  831.   jest wsadzana, a ton tego d╝wiΩku informuje nas o statusie nowo
  832.   w│o┐onej karty. D╝wiΩk wysoki a po nim niski informuje, ┐e karta
  833.   zosta│a zidentyfikowana, ale z jakiego╢ powodu nie mog│a zostaµ
  834.   skonfigurowana. Jeden d╝wiΩk niski informuje, ┐e karta nie mog│a
  835.   zostaµ zidentyfikowana.
  836.  
  837.   Je╢li wszystkie modu│y s▒ poprawnie za│adowane, polecenie lsmod daje
  838.   mniej wiΩcej taki wynik (bez w│o┐onych kart):
  839.  
  840.  
  841.      Module:        #pages:  Used by:
  842.      ds                 2
  843.      i82365             3
  844.      pcmcia_core        7    [ds i82365]
  845.  
  846.  
  847.  
  848.   Wszystkie modu│y PCMCIA oraz demon cardmgr wysy│aj▒ komunikaty o
  849.   statusie do systemowego programu loguj▒cego. BΩdzie to z regu│y
  850.   /var/log/messages albo /usr/adm/messages. Powinno to byµ pierwsze
  851.   miejsce, do kt≤rego nale┐y zajrzeµ kiedy co╢ nie dzia│a. Kiedy
  852.   wysy│asz mi wiadomo╢µ o jakim╢ b│Ωdzie, zawsze do│▒cz zawarto╢µ tego
  853.   pliku.  Je╢li nie mo┐esz znale╝µ komunikat≤w z twojego systemu, to
  854.   sprawd╝ konfiguracjΩ w pliku /etc/syslogd.conf, aby zobaczyµ do jakich
  855.   plik≤w s▒ one zapisywane. Cardmgr tak┐e zapisuje niekt≤re bie┐▒ce
  856.   informacje o urz▒dzeniach dla ka┐dego gniazda w pliku /var/run/stab.
  857.   Oto przyk│adowa zawarto╢µ tego pliku:
  858.  
  859.      Socket 0: Adaptec APA-1460 SlimSCSI
  860.      0       scsi    aha152x_cs      0       sda     8       0
  861.      0       scsi    aha152x_cs      1       scd0    11      0
  862.      Socket 1: Serial or Modem Card
  863.      1       serial  serial_cs       0       ttyS1    5       65
  864.  
  865.  
  866.  
  867.   W liniach opisuj▒cych urz▒dzenia, pierwsze pole jest gniazdem, drugie
  868.   - klas▒ urz▒dzenia, trzecie - nazw▒ sterownika, czwarte jest u┐ywane,
  869.   aby numerowaµ urz▒dzenia z│o┐one (multiple devices) zwi▒zane z tym
  870.   samym sterownikiem, pi▒te - nazw▒ urz▒dzenia, a ostatnie dwa pola s▒
  871.   liczb▒ g│≤wn▒ i poboczn▒ dla danego urz▒dzenia (je╢li jest dostΩpne).
  872.  
  873.   Polecenie cardctl mo┐e s│u┐yµ do sprawdzenia statusu gniazda, albo
  874.   jego konfiguracji. Oto przyk│adowy rezultat polecenia "cardctl
  875.   config":
  876.  
  877.  
  878.  
  879.        Socket 0:
  880.        Socket 1:
  881.          Vcc = 5.0, Vpp1 = 0.0, Vpp2 = 0.0
  882.          Card type is memory and I/O
  883.          IRQ 3 is dynamic shared, level mode, enabled
  884.          Speaker output is enabled
  885.          Function 0:
  886.            Config register base = 0x0800
  887.              Option = 0x63, status = 0x08
  888.            I/O window 1: 0x0280 to 0x02bf, auto sized
  889.            I/O window 2: 0x02f8 to 0x02ff, 8 bit
  890.  
  891.  
  892.  
  893.  
  894.   Je╢li masz uruchomione X-y, to narzΩdzie cardinfo wy╢wietla informacje
  895.   o statusie wszystkich gniazd PCMCIA, podobn▒ w zawarto╢ci do "cardctl
  896.   config".
  897.  
  898.  
  899.   3.2.  Przegl▒d skrypt≤w konfiguracyjnych PCMCIA.
  900.  
  901.  
  902.   Ka┐de urz▒dzenie PCMCIA jest przyporz▒dkowane jakiej╢ klasie, kt≤ra
  903.   opisuje jak powinno ono zostaµ skonfigurowane i jak nim zarz▒dzaµ.
  904.   Klasy s▒ zwi▒zane ze sterownikami urz▒dze± w /etc/pcmcia/config. Jest
  905.   w tej chwili piΩµ klas urz▒dze± IO (sieµ, SCSI, CD-ROM, dyski fixed i
  906.   szeregowe) oraz dwie klasy urz▒dze± zwi▒zanych z pamiΩci▒ (pamiΩµ i
  907.   FTL). Dla ka┐dej klasy s▒ dwa skrypty w /etc/pcmcia/config: g│≤wny
  908.   skrypt konfiguracyjny (/etc/pcmcia/scsi dla urz▒dze± SCSI), i skrypt z
  909.   opcjami (/etc/pcmcia/scsi.opts). Skrypt g│≤wny dla danego urz▒dzenia
  910.   zostanie wywo│any, aby skonfigurowaµ to urz▒dzenie kiedy karta jest
  911.   wk│adana, i ┐eby wy│▒czyµ dane urz▒dzenie kiedy karta jest wyjmowana.
  912.   Dla kart, z kt≤rymi jest zwi▒zane kilka urz▒dze±, skrypt zostanie
  913.   wywo│any dla ka┐dego urz▒dzenia.
  914.  
  915.   Skrypty konfiguracyjne zaczynaj▒ od wyci▒gniΩcia pewnych informacji o
  916.   danym urz▒dzeniu z pliku /var/run/stab.  Ka┐dy skrypt konstruuje
  917.   "adres urz▒dzenia" w zmiennej ADDRESS, kt≤ry jest unikatowy dla
  918.   urz▒dzenia, kt≤re ma byµ skonfigurowane.  Jest to przekazywane do
  919.   skryptu *.opts, kt≤ry powinien zwr≤ciµ informacjΩ o tym, jak dane
  920.   urz▒dzenie z podanego adresu powinno zostaµ skonfigurowane. Dla
  921.   niekt≤rych urz▒dze±, adres ten jest po prostu numerem gniazda. Dla
  922.   innych, zawiera on dodatkowe informacje, kt≤re mog▒ byµ przydatne do
  923.   zadecydowania jak skonfigurowaµ dane urz▒dzenie. Na przyk│ad,
  924.   urz▒dzenia sieciowe przekazuj▒ sw≤j adres Ethernet-owy jako czΩ╢µ
  925.   swojego "adresu urz▒dzenia", tak ┐eby skrypt network.opts m≤g│ tego
  926.   u┐yµ, aby wybraµ z kilku r≤┐nych konfiguracji.
  927.  
  928.   Pierwsz▒ czΩ╢ci▒ wszystkich adres≤w urz▒dze± jest bie┐▒cy schemat
  929.   PCMCIA. Parametr ten jest u┐ywany do obs│ugi z│o┐onych zbior≤w
  930.   konfiguracji urz▒dze± opartych na pojedynczej zewnΩtrznej zmiennej
  931.   podanej przez u┐ytkownika. Jeden ze sposob≤w u┐ycia schemat≤w to
  932.   posiadanie schematu domowego, i schematu roboczego, kt≤ry zawiera│by
  933.   r≤┐ne zbiory parametr≤w konfiguracji sieci. Schemat bie┐▒cy jest
  934.   wybierany przy pomocy polecenia cardctl.  Domy╢lnym schematem, je╢li
  935.   ┐aden nie jest podany, jest "default".
  936.  
  937.   Jako zasada og≤lna podczas konfiguracji Linux-a na laptopa, urz▒dzenia
  938.   PCMCIA powinny byµ konfigurowane tylko przy pomocy skrypt≤w do
  939.   urz▒dze± PCMCIA. Nie pr≤buj konfigurowaµ urz▒dzenia PCMCIA w ten sam
  940.   spos≤b co urz▒dzenie do│▒czone na sta│e.
  941.  
  942.  
  943.   3.3.  Adaptery sieciowe PCMCIA.
  944.  
  945.  
  946.   Normalnie interfejsy sieciowe typu Ethernet na Linux-ie maj▒ nazwy
  947.   eth0, eth1 itd. Kontrolery Token-Ring s▒ obs│ugiwane podobnie, chocia┐
  948.   nazywane s▒ tr0, tr1 itd. Polecenie ifconfig jest wywo│ywane, aby
  949.   zobaczyµ albo zmodyfikowaµ stan urz▒dzenia sieciowego. W│asno╢ci▒
  950.   Linux-a jest to, ┐e interfejsy sieciowe nie maj▒ odpowiednich plik≤w w
  951.   katalogu /dev, wiΩc nie b▒d╝ zaskoczony, ┐e nie mo┐esz ich znale╝µ.
  952.  
  953.   Kiedy zostanie wykryta karta Ethernet-owa PCMCIA, zostanie jej
  954.   przydzielona pierwsza wolna nazwa interfejsu, kt≤r▒ bΩdzie
  955.   przypuszczalnie eth0. Cardmgr wykona skrypt /etc/pcmcia/network, aby
  956.   skonfigurowaµ ten interfejs.
  957.  
  958.   Nie konfiguruj swojej karty Ethernet-owej w /etc/rc.d/rc.inet1
  959.   poniewa┐ karty mo┐e nie byµ kiedy skrypt ten jest wykonywany. Wstaw w
  960.   komentarz wszystko, opr≤cz urz▒dzenia "loopback" w rc.inet1.
  961.   Je╢li tw≤j system ma automatyczn▒ procedurΩ konfiguracji sieci
  962.   powiniene╢ zwykle wskazaµ, ┐e nie masz zainstalowanej karty sieciowej.
  963.   W zamian, zmodyfikuj plik /etc/pcmcia/network.opts, tak aby odpowiada│
  964.   twojej lokalnej konfiguracji sieci. Skrypty network i network.opts
  965.   zostan▒ wykonane tylko je╢li twoja karta Ethernet-owa jest obecna.
  966.  
  967.   Adres urz▒dzenia przekazany do network.opts sk│ada siΩ, z czterech p≤l
  968.   oddzielonych przecinkami: schematu, numeru gniazda, numeru urz▒dzenia
  969.   i sprzΩtowego adresu karty Ethernet. Numer urz▒dzenia jest u┐ywany do
  970.   numerowania urz▒dze± dla kart, kt≤re maj▒ kilka interfejs≤w
  971.   sieciowych, tak wiΩc zwykle bΩdzie to 0.  Je╢li masz kilka kart
  972.   sieciowych u┐ywanych do r≤┐nych cel≤w, jedn▒ z opcji by│oby
  973.   skonfigurowanie kart oparte na numerze gniazda, jak tu:
  974.  
  975.  
  976.      case "$ADDRESS" in
  977.      *,0,*,*)
  978.          # definicje dla karty sieciowej w gnie╝dzie 0
  979.          ;;
  980.      *,1,*,*)
  981.          # definicje dla karty sieciowej w gnie╝dzie 1
  982.          ;;
  983.      esac
  984.  
  985.  
  986.  
  987.   Alternatywnie mog│yby one byµ skonfigurowane u┐ywaj▒c ich adres≤w
  988.   sprzΩtowych, jak tu:
  989.  
  990.  
  991.      case "$ADDRESS" in
  992.      *,*,*,00:80:C8:76:00:B1)
  993.          # definicje dla karty D-Link
  994.          ;;
  995.      *,*,*,08:00:5A:44:80:01)
  996.          # definicje dla karty IBM
  997.      esac
  998.  
  999.  
  1000.  
  1001.   Aby automatycznie zamontowaµ i odmontowaµ system plik≤w NFS, najpierw
  1002.   dodaj te wszystkie systemy do /etc/fstab, ale w opcjach podaj noauto.
  1003.   W network.opts wpisz katalogi, w kt≤rych maj▒ byµ zamontowane systemy
  1004.   plik≤w NFS w zmiennej MOUNTS. Jest tu szczeg≤lnie wa┐ne, aby u┐yµ albo
  1005.   cardctl albo cardinfo, aby wy│▒czyµ kartΩ sieciow▒ kiedy montowanie z
  1006.   NFS jest w ten spos≤b skonfigurowane. Nie jest mo┐liwe czyste
  1007.   odmontowanie systemu plik≤w NFS je╢li karta sieciowa jest po prostu
  1008.   wyrzucana bez ostrze┐enia.
  1009.  
  1010.   Dodatkowo opr≤cz zwyk│ych parametr≤w konfiguracyjnych dla sieci,
  1011.   skrypt network.opts mo┐e podawaµ inne akcje, kt≤re maj▒ mieµ miejsce
  1012.   po tym jak interfejs zosta│ skonfigurowany, albo przed zamkniΩciem
  1013.   interfejsu. Je╢li w network.opts zdefiniowana jest funkcja start_fn,
  1014.   zostanie ona wywo│ana przez skrypt sieciowy po skonfigurowaniu
  1015.   interfejsu, a nazwa interfejsu zostanie przekazana do tej funkcji jako
  1016.   pierwszy i jedyny argument. Podobnie je╢li funkcja stop_fn jest
  1017.   zdefiniowana, to zostanie ona wywo│ana przed zamkniΩciem interfejsu.
  1018.  
  1019.  
  1020.   3.3.1.  Wyb≤r transceiver-a.
  1021.  
  1022.  
  1023.   Typ transceiver-a mo┐na wybraµ w network.opts przy pomocy ustawienia
  1024.   IF_PORT. Mo┐e to byµ zar≤wno warto╢µ numeryczna jak we wcze╢niejszych
  1025.   wydaniach PCMCIA, jak i s│owo kluczowe identyfikuj▒ce typ transceiver-
  1026.   a. Warto╢ciami domy╢lnymi we wszystkich sterownikach sieciowych s▒:
  1027.   wykrywanie automatyczne interfejsu je╢li jest to mo┐liwe, a w
  1028.   przeciwnym razie - 10baseT.  Przy pomocy polecenia ifport mo┐na
  1029.   sprawdziµ lub ustawiµ bie┐▒cy typ transceiver-a. Np.:
  1030.  
  1031.  
  1032.  
  1033.        # ifport eth0 10base2
  1034.        #
  1035.        # ifport eth0
  1036.        eth0    2 (10base2)
  1037.  
  1038.  
  1039.  
  1040.  
  1041.   Obecne wersje sterownika 3c589 pr≤buj▒ automatycznie wykryµ po│▒czenie
  1042.   sieciowe, ale nie jest to jeszcze w pe│ni funkcjonalne.  Aby
  1043.   automatyczne wykrywanie dzia│a│o, kabel sieciowy powinien tkwiµ w
  1044.   karcie podczas jej konfiguracji. Alternatywnym rozwi▒zaniem jest
  1045.   zmuszenie sterownika do sprawdzenia po│▒czenia przy pomocy polecenia:
  1046.  
  1047.  
  1048.  
  1049.        ifconfig eth0 down up
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.   3.3.2.  Komentarze na temat konkretnych kart.
  1058.  
  1059.  
  1060.  
  1061.   ╖  Przy kartach IBM CCAE i Socket EA musisz wybraµ typ transceiver-a
  1062.      (10base2, 10baseT, AUI) gdy urz▒dzenie sieciowe jest ju┐
  1063.      skonfigurowane. Upewnij siΩ, ┐e typ transceiver-a zapisany w logach
  1064.      jest zgodny z rzeczywistym.
  1065.  
  1066.   ╖  Sterowniki dla kart SMC, Megahertz, Ositech i 3Com powinny
  1067.      automatycznie wykryµ typ do│▒czonej sieci (10base2 lub 10baseT).
  1068.      Ustawienie typu transceiver-a kiedy sterownik jest ju┐ za│adowany
  1069.      ma na celu zdefiniowanie pierwszej warto╢ci sprawdzanej przez
  1070.      sterownik.
  1071.  
  1072.   ╖  Karta Farallon EtherWave jest w│a╢ciwie zbudowana na bazie 3Com
  1073.      3c589 ze specjalnym transceiver-em. Pomimo, i┐ EtherWave u┐ywa
  1074.      po│▒cze± 10baseT jej transceiver wymaga, ┐eby 3c589 by│a
  1075.      skonfigurowana na tryb 10base2.
  1076.  
  1077.   ╖  Je╢li masz problemy z kartami IBM CCAE, NE4100, Thomas Conrad czy
  1078.      Kingston - spr≤buj zwiΩkszyµ czas dostΩpu do pamiΩci opcj▒
  1079.      mem_speed=# dla modu│u pcnet_cs. Przyk│ad jak to zrobiµ znajdziesz
  1080.      w standardowym pliku config.opts. Wypr≤buj prΩdko╢ci do 1000
  1081.      nanosekund.
  1082.  
  1083.   ╖  Na niekt≤rych systemach przy karcie New Media Ethernet mo┐liwe, ┐e
  1084.      trzeba zwiΩkszyµ czas dostΩpu do port≤w IO opcj▒ io_speed=# podczas
  1085.      │adowania modu│u pcmcia_core. Aby ustawiµ tΩ opcjΩ zmodyfikuj
  1086.      linijkΩ CORE_OPTS w skrypcie startowym.
  1087.  
  1088.   ╖  Obs│uga muticastingu w sterowniku dla New media Ethernet nie jest
  1089.      pe│na. Najnowszy sterownik bΩdzie dzia│a│ z j▒drem skompilowanym do
  1090.      multicastingu, ale bΩdzie ignorowa│ takie pakiety. Tryb
  1091.      "promiscuous" powinien dzia│aµ poprawnie.
  1092.  
  1093.   ╖  Wygl▒da na to, ┐e sterownik u┐ywany przez karty IBM i 3Com token
  1094.      ring zachowuje siΩ bardzo ╝le je╢li karty nie s▒ po│▒czone z
  1095.      pier╢cieniem podczas inicjalizacji. Zawsze pod│▒czaj te karty do
  1096.      sieci kiedy s▒ uruchamiane. Sterownik ten wymaga tak┐e wolnych
  1097.      port≤w w obszarze 0xA20-0xA27. Na niekt≤rych systemach,
  1098.      automatyczne sprawdzanie konflikt≤w w╢r≤d port≤w IO b│Ωdnie okre╢li
  1099.      ten obszar jako niedostΩpny. W tym wypadku, sprawdzanie mo┐e zostaµ
  1100.      wy│▒czone poprzez za│adowanie modu│u pcmcia_core z opcj▒
  1101.      probe_io=0.
  1102.  
  1103.   ╖  Nowsze karty Linksys i D-Link maj▒ sw≤j unikalny spos≤b wybierania
  1104.      typu transceiver-a, kt≤ry nie jest obs│ugiwany przez sterowniki
  1105.      Linux-owe. Jednym ze sposob≤w na obej╢cie tego jest wystartowaµ
  1106.      DOS-a i u┐yµ narzΩdzia dostarczonego przez sprzedawcΩ, aby wybraµ
  1107.      transceiver i potem wystartowaµ Linux-a na "ciep│o".  Szukam beta-
  1108.      tester≤w do narzΩdzia na Linux-a, kt≤re by umo┐liwia│o tak▒
  1109.      funkcjΩ.
  1110.  
  1111.   ╖  Jean Tourrilhes (jt@hplb.hpl.hp.com napisa│ HOWTO <http://www-
  1112.      uk.hpl.hp.com/people/jt/Linux/Wavelan.html> na temat
  1113.      bezprzewodowych kart sieciowych WaveLAN.
  1114.  
  1115.  
  1116.   3.3.3.  Diagnozowanie problem≤w z kartami sieciowymi.
  1117.  
  1118.  
  1119.  
  1120.   ╖  Czy twoja karta jest rozpoznawana jako karta etnernetowa?  Sprawd╝
  1121.      logi systemowe i upewnij siΩ, ┐e cardmgr identyfikuje twoj▒ kartΩ
  1122.      poprawnie i startuje jeden ze sterownik≤w sieciowych.  Je╢li nie,
  1123.      to twoj▒ kartΩ mo┐na wci▒┐ u┐yµ je╢li jest ona kompatybilna z jak▒╢
  1124.      obs│ugiwan▒. Najpro╢ciej jest to zrobiµ je╢li karta "twierdzi", ┐e
  1125.      jest kompatybilna z NE2000.
  1126.  
  1127.   ╖  Czy karta jest poprawnie skonfigurowana? Je╢li u┐ywasz obs│ugiwanej
  1128.      karty i zosta│a ona rozpoznana przez cardmgr, ale wci▒┐ nie dzia│a,
  1129.      to mo┐liwy jest konflikt z przerwaniami lub portami. Zobacz jakich
  1130.      zasob≤w u┐ywa karta (z log≤w systemowych) i spr≤buj wy│▒czyµ je w
  1131.      /etc/pcmcia/config.opts, aby zmusiµ kartΩ do u┐ycia innych.
  1132.  
  1133.   ╖  Je╢li twoja karta wydaje siΩ byµ skonfigurowana poprawnie, ale
  1134.      czasami siΩ zawiesza, szczeg≤lnie przy du┐ym obci▒┐eniu systemu,
  1135.      mo┐liwe, ┐e musisz spr≤bowaµ zmieniµ paramtery "timing-owe" gniazda
  1136.      dla sterownika. WiΩcej informacji znajdziesz w sekcji ``2.3''.
  1137.  
  1138.   ╖  Je╢li masz komunikaty w stylu "network unreachable" kiedy pr≤bujesz
  1139.      dostaµ siΩ do sieci, to przypuszczalnie b│Ωdnie ustawi│e╢ parametry
  1140.      w /etc/pcmcia/network.opts. Jednak z drugiej strony b│Ωdnie
  1141.      skonfigurowane karty z regu│y nie zainicjuj▒ siΩ i nie wy╢wietl▒
  1142.      przy tym ┐adnych komunikat≤w
  1143.  
  1144.   ╖  Aby sprawdziµ problemy z /etc/pcmcia/network.opts, zacznij od pr≤by
  1145.      ping-owania innych system≤w w tej samej podsieci uzywaj▒c ich
  1146.      adres≤w IP. Potem spr≤buj ping-owaµ sw≤j gateway, i maszyny w
  1147.      innych podsieciach. Ping-uj maszyny po ich adresach tylko po
  1148.      zrobieniu tych prostych test≤w.
  1149.  
  1150.   ╖  Upewnij siΩ, ┐e tw≤j problem to naprawdΩ problem z PCMCIA.
  1151.      Sprawdzenie, czy karta dzia│a pod DOS-em ze sterownikiem od
  1152.      sprzedawcy mo┐e pom≤c. Sprawd╝ dwa razy modyfikacje w skrypcie
  1153.      /etc/pcmcia/network.opts. Upewnij siΩ, ┐e twoje kable, wtyczka "T",
  1154.      terminator itp. dzia│aj▒.
  1155.  
  1156.  
  1157.   3.4.  Urz▒dzenia szeregowe i modemy PCMCIA.
  1158.  
  1159.  
  1160.   Linux-owe urz▒dzenia szeregowe s▒ dostΩpne poprzez specjalne pliki
  1161.   /dev/cua* i /dev/ttyS*. Urz▒dzenia ttyS* s▒ dla po│▒cze±
  1162.   przychodz▒cych, jak np. bezpo╢rednio pod│▒czone terminale. Urz▒dzenia
  1163.   cua* s▒ dla po│▒cze± wychodz▒cych, jak np. modemy. Ka┐dy fizyczny port
  1164.   szeregowy ma plik urz▒dzenia ttyS i cua: to ju┐ zale┐y od ciebie jaki
  1165.   plik wykorzystasz w swojej aplikacji. Konfiguracja urz▒dzenia
  1166.   szeregowego mo┐e byµ sprawdzana i modyfikowana poprzez polecenie
  1167.   setserial.
  1168.  
  1169.   Kiedy zostanie wykryta karta szeregowa lub modemowa PCMCIA, zostanie
  1170.   jej przypisany pierwszy dostΩpny slot urz▒dzenia szeregowego. BΩdzie
  1171.   to zwykle /dev/ttyS1 (cua1) albo /dev/ttyS2 (cua2) w zale┐no╢ci od
  1172.   ilo╢ci wbudowanych port≤w szeregowych.  Urz▒dzenie ttyS* jest
  1173.   raportowane w pliku /var/run/stab.  Domy╢lny skrypt z opcjami dla
  1174.   urz▒dzenia szeregowego /etc/pcmcia/serial.opts pod│▒czy odpowiedni w
  1175.   ramach udogodnienia plik urz▒dzenia cua* do /dev/modem.
  1176.  
  1177.   Nie pr≤buj u┐ywaµ /etc/rc.d/rc.serial do konfiguracji modemu PCMCIA.
  1178.   Skrypt ten powinien byµ u┐ywany tylko do konfiguracji urz▒dze±
  1179.   zainstalowanych na sta│e. Modyfikuj /etc/pcmcia/serial.opts je╢li
  1180.   chcesz jakich╢ specjalnych ustawie± dla swojego modemu. Nie pr≤buj
  1181.   tak┐e zmieniaµ portu IO czy IRQ szeregowego urz▒dzenia PCMCIA
  1182.   programem setserial.  Poinformowa│oby to sterownik szeregowy, ┐e karta
  1183.   jest w innym miejscu, ale nie zmieni│oby ustawie± sprzΩtowych karty.
  1184.   Skrypt konfiguracyjny pozwala na podanie innych opcji setserial jak
  1185.   rownie┐ to czy linia dla tego portu powinna zostaµ dodana do
  1186.   /etc/inittab.
  1187.  
  1188.  
  1189.   Adres urz▒dzenia przekazywany do serial.opts ma trzy pola odzielone
  1190.   przecinkami: pierwsze jest schematem, drugie - numerem gniazda,
  1191.   trzecie - numerem urz▒dzenia. Numer urz▒dzenia mo┐e przyjmowaµ kilka
  1192.   warto╢ci dla kart, kt≤re obs│uguj▒ wieloportowe karty szeregowe, ale
  1193.   dla kart jednoportowych bΩdzie to zawsze 0.  Je╢li zwykle u┐ywasz
  1194.   wiΩcej ni┐ jednego modemu PCMCIA, mo┐esz podaµ r≤┐ne ustawienia oparte
  1195.   na numerze gniazda, jak tu:
  1196.  
  1197.  
  1198.      case "$ADDRESS" in
  1199.      *,0,*)
  1200.          # Opcje dla modemu w gnie╝dzie 0
  1201.          LINK=/dev/modem0
  1202.          ;;
  1203.      *,1,*)
  1204.          # Opcje dla modemu w gnie╝dzie 1
  1205.          LINK=/dev/modem1
  1206.          ;;
  1207.      esac
  1208.  
  1209.  
  1210.  
  1211.   Je╢li modem PCMCIA jest ju┐ skonfigurowany gdy Linux startuje, mo┐e
  1212.   zostaµ ╝le zidentyfikowany jako zwyk│y wbudowany port szeregowy. Jest
  1213.   to nieszkodliwe, chocia┐, kiedy sterowniki PCMCIA przejmuj▒ kontrolΩ
  1214.   nad modemem, bΩdzie mu nadany inny slot.  Najlepiej albo zmodyfikowaµ
  1215.   /var/run/stab albo u┐yµ /dev/modem ni┐ liczyµ na to, ┐e modem PCMCIA
  1216.   bΩdzie zawsze mia│ przypisane to samo urz▒dzenie.
  1217.  
  1218.   Je╢li skonfigurujesz twoje j▒dro, aby │adowa│o podstawowy sterownik do
  1219.   port≤w szeregowych jako modu│, musisz zmodyfikowaµ /etc/pcmcia/config,
  1220.   aby wskazaµ, ┐e ten modu│ ma byµ │adowany. Zmie± pozycjΩ urz▒dzenia
  1221.   szeregowego tak:
  1222.  
  1223.  
  1224.      device "serial_cs"
  1225.        class "serial" module "char/serial", "serial_cs"
  1226.  
  1227.  
  1228.  
  1229.  
  1230.   3.4.1.  Diagnozowanie problem≤w z urz▒dzeniami szeregowymi.
  1231.  
  1232.  
  1233.  
  1234.   ╖  Czy twoja karta jest rozpoznawana jako modem? Sprawd╝ log systemowy
  1235.      i upewnij siΩ, ┐e cardmgr identyfikuje kartΩ poprawnie i startuje
  1236.      sterownik serial_cs. Je╢li nie, to mo┐liwe, ┐e musisz dodaµ jeszcze
  1237.      jedn▒ pozycjΩ do swojego pliku /etc/pcmcia/config tak, ┐e zostanie
  1238.      ona poprawnie zidentyfikowana. WiΩcej szczeg≤│≤w w sekcji ``3.6''.
  1239.  
  1240.   ╖  Czy modem zosta│ poprawnie skonfigurowany przez serial_cs? Znowu,
  1241.      sprawd╝ logi systemowe i poszukaj komunikat≤w pochodz▒cych od
  1242.      sterownika serial_cs. Je╢li zobaczy╢ "register_serial() failed()",
  1243.      to mo┐esz mieµ konflikt port≤w IO. Inn▒ wskaz≤wk▒ na konflikt jest
  1244.      zg│oszenie urz▒dzenia 8250; wiΩkszo╢µ nowoczesnych modem≤w PCMCIA
  1245.      powinna byµ identyfikowana jako UART 16550A. Je╢li s▒dzisz, ┐e masz
  1246.      do czynienia z konfliktem port≤w, zmodyfikuj
  1247.      /etc/pcmcia/config.opts i wy│▒cz obszar port≤w, kt≤ry zosta│
  1248.      zaalokowany dla modemu.
  1249.  
  1250.   ╖  A mo┐e jest konflikt przerwa±? Je╢li log systemowy wygl▒da na
  1251.      dobry, ale modem po prostu nie dzia│a, to spr≤buj u┐yµ setserial,
  1252.      aby zmieniµ IRQ na 0 i sprawd╝ czy modem dzia│a.  Wywo│anie takie
  1253.      wymusza na sterowniku u┐ycie wolniejszego trybu "polled" zamiast
  1254.      u┐ycia przerwa±. Je╢li to naprawia problem, to ca│kiem mo┐liwe, ┐e
  1255.      jakie╢ inne urz▒dzenie w twoim systemie u┐ywa przerwania wybranego
  1256.      przez serial_cs.  Powiniene╢ dodaµ liniΩ do pliku
  1257.      /etc/pcmcia/config.opts wy│▒czaj▒ce to przerwanie.
  1258.  
  1259.   ╖  Je╢li modem zdaje siΩ dzia│aµ, ale bardzo, bardzo wolno, to jest
  1260.      prawie pewne, ┐e jest konflikt przerwa±.
  1261.  
  1262.   ╖  Upewnij siΩ, ┐e tw≤j problem, to rzeczywi╢cie problem z PCMCIA.
  1263.      Pomocne mo┐e byµ sprawdzenie, czy karta dzia│a pod DOS-em u┐ywaj▒c
  1264.      sterownika dostarczonego przez sprzedawcΩ. Nie testuj tak┐e karty w
  1265.      skomplikowanych warunkach jak SLIP czy PPP dop≤ki nie jeste╢
  1266.      pewnien, ┐e mo┐esz nawi▒zywaµ proste po│▒czenia. Je╢li proste
  1267.      rzeczy dzia│aj▒ a SLIP - nie, to problem jest ze SLIP-em, a nie
  1268.      PCMCIA.
  1269.  
  1270.   ╖  Je╢li otrzymujesz komunikaty od j▒dra wskazuj▒ce na to, ┐e modu│
  1271.      serial_cs nie mo┐e byµ za│adowany, to znaczy, ┐e j▒dro nie ma
  1272.      obs│ugi dla urz▒dze± szeregowych. Je╢li skompilowa│e╢ sterownik
  1273.      szeregowy jako modu│, to musisz zmodyfikowaµ /etc/pcmcia/config,
  1274.      aby zaznaczyµ, ┐e modu│ serial powinien byµ za│adowany przed
  1275.      serial_cs.
  1276.  
  1277.  
  1278.   3.5.  Adaptery PCMCIA SCSI.
  1279.  
  1280.  
  1281.   Wszystkie obecnie obs│ugiwane karty PCMCIA SCSI s▒ podobne w dzia│aniu
  1282.   do jednej z nastΩpuj▒cych kart: Qlogic, Adaptec AHA-152X albo Future
  1283.   Domain TMC-16x0. Sterowniki PCMCIA s▒ stworzone przez do│▒czanie
  1284.   czΩ╢ci specyficznego dla PCMCIA kodu (w qlogic_cs.c, toaster_cs.c albo
  1285.   fdomain_cs.c) do normalnego sterownika SCSI dla Linux-a.
  1286.  
  1287.   Kiedy wykryty zostanie nowy kontroler SCSI, sterowniki do SCSI bΩd▒
  1288.   szukaµ urz▒dze±. Sprawd╝ logi systemowe, aby upewniµ siΩ, ┐e twoje
  1289.   urz▒dzenia zosta│y wykryte poprawnie. Nowym urz▒dzeniom SCSI zostanie
  1290.   przypisany pierwszy wolny plik urz▒dzenia SCSI. Pierwszy dysk SCSI
  1291.   bΩdzie /dev/sda, pierwsza ta╢ma SCSI bΩdzie /dev/st0, a pierwszy CD-
  1292.   ROM SCSI bΩdzie /dev/scd0.
  1293.  
  1294.   Rdzeniowe sterowniki PCMCIA s▒ w stanie dowiedzieµ siΩ od j▒dra 1.3.X
  1295.   i p≤╝niejszego, kt≤re urz▒dzenia SCSI s▒ pod│▒czone do karty. BΩd▒ one
  1296.   wymienione w /var/run/stab, a skrypt konfiguracyjny SCSI
  1297.   /etc/pcmcia/scsi bΩdzie wywo│any jeden raz dla ka┐dego do│▒czonego
  1298.   urz▒dzenia, aby je albo skonfigurowaµ albo wy│▒czyµ.  Skrypt domy╢lny
  1299.   nie robi nic, aby skonfigurowaµ urz▒dzenia SCSI, ale poprawnie
  1300.   odmontuje systemy plik≤w z urz▒dze± SCSI kiedy karta zostanie
  1301.   usuniΩta.
  1302.  
  1303.   Sterowniki PCMCIA z j▒drem w wersji 1.2.X nie potrafi▒ automatycznie
  1304.   wykryµ , kt≤re urz▒dzenia s▒ przypisane konkretnemu sterownikowi. W
  1305.   zamian za to, je╢li masz jedn▒ normaln▒ konfiguracjΩ urz▒dzenia SCSI,
  1306.   mo┐esz wymieniµ te urz▒dzenia w /etc/pcmcia/scsi.opts. Na przyk│ad:
  1307.   je╢li normalnie masz dysk i CD-ROM SCSI, u┐y│by╢:
  1308.  
  1309.  
  1310.      # Dla j▒dra 1.2: lista urz▒dze± do│▒czonych
  1311.      SCSI_DEVICES="sda scd0"
  1312.  
  1313.  
  1314.  
  1315.   Adresy urz▒dze± przekazywane do scsi.opts s▒ skomplikowane, z powodu
  1316.   du┐ej ilo╢ci urz▒dze±, kt≤re mog▒ byµ do│▒czone do kontrolera SCSI.
  1317.   Adresy sk│adaj▒ siΩ albo z sze╢ciu albo z siedmiu p≤l oddzielonych
  1318.   przecinkami: bie┐▒cy schemat, typ urz▒dzenia, numer gniazda, kana│
  1319.   SCSI, ID, numer logicznej jednostki i opcjonalnie numer partycji. Typ
  1320.   urz▒dzenia bΩdzie jednym z: "sd" dla dysk≤w, "st" dla ta╢m, "sr" dla
  1321.   CD-ROM-≤w i "sg" dla og≤lnych urz▒dze± SCSI. W wiΩkszo╢ci ustawie±,
  1322.   kana│ SCSI oraz numer logicznej jednostki bΩdzie 0. Dla urz▒dze±
  1323.   dyskowych z kilkoma partycjami, scsi.opts zostanie najpierw wywo│any
  1324.   dla ca│ego urz▒dzenia, z piΩciopolowym adresem. Skrypt ten powinien
  1325.   ustawiµ w zmiennej PARTS listΩ partycji. Potem, scsi.opts zostanie
  1326.   wywo│any dla ka┐dej partycji, z d│u┐szymi - siedmiopolowymi adresami.
  1327.   Na przyk│ad: oto skrypt do konfiguracji urz▒dzenia dyskowego pod SCSI
  1328.   ID = 3 z dwiema partycjami oraz CD-ROM pod SCSI ID = 6:
  1329.  
  1330.  
  1331.   case "$ADDRESS" in
  1332.   *,sd,*,0,3,0)
  1333.       # To urz▒dzenie ma dwie partycje...
  1334.       PARTS="1 2"
  1335.       ;;
  1336.   *,sd,*,0,3,0,1)
  1337.       # Opcje dla partycji nr 1:
  1338.       # zaktualizuj /etc/fstab i zamontuj system plik≤w ext2 na /usr1
  1339.       DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
  1340.       FSTYPE="ext2"
  1341.       OPTS=""
  1342.       MOUNTPT="/usr1"
  1343.       ;;
  1344.   *,sd,*,0,3,0,2)
  1345.       # Opcje dla partycji nr 2:
  1346.       # zaktualizuj /etc/fstab i zamontuj system plik≤w ext2 na /usr2
  1347.       DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
  1348.       FSTYPE="msdos"
  1349.       OPTS=""
  1350.       MOUNTPT="/usr2"
  1351.       ;;
  1352.   *,sr,*,0,6,0)
  1353.       # Opcje dla CD-ROM-u ID = 6
  1354.       PARTS=""
  1355.       DO_FSTAB="y" ; DO_FSCK="n" ; DO_MOUNT="y"
  1356.       FSTYPE="iso9660"
  1357.       OPTS="ro"
  1358.       MOUNTPT="/cdrom"
  1359.       ;;
  1360.   esac
  1361.  
  1362.  
  1363.  
  1364.   Je╢li twoje j▒dro nie posiada sterownika "top-level" (do dysku, ta╢my
  1365.   itp.) dla konkretnego urz▒dzenia SCSI, wtedy urz▒dzenie to nie
  1366.   zostanie skonfigurowane przez sterownik PCMCIA. Jako efekt uboczny,
  1367.   nazwa urz▒dzenia w /var/run/stab bΩdzie wygl▒daµ mniej wiΩcej tak:
  1368.   "sd#nnnn", gdzie "nnnn" jest czterocyfrow▒ liczb▒ szesnastkow▒. Zdarza
  1369.   siΩ to, je╢li cardmgr nie jest w stanie przet│umaczyµ ID urz▒dzenia
  1370.   SCSI na odpowiadaj▒c▒ mu nazwΩ urz▒dzenia Linux-owego.
  1371.  
  1372.   Mo┐liwe jest zmodularyzowanie sterownik≤w "top-level" do SCSI, tak aby
  1373.   by│y │adowane tylko wtedy kiedy zostanie wykryty kontroler SCSI. Aby
  1374.   tak zrobiµ, musisz zmodyfikowaµ /etc/pcmcia/config, aby poinformowaµ
  1375.   cardmgr, kt≤re dodatkowe modu│y musz▒ byµ za│adowane kiedy dany
  1376.   kontroler jest konfigurowany.
  1377.   Na przyk│ad:
  1378.  
  1379.  
  1380.   device "aha152x_cs"
  1381.     class "scsi" module "scsi/scsi_mod", "scsi/sd_mod", "aha152x_cs"
  1382.  
  1383.  
  1384.  
  1385.   Taka zawarto╢µ pliku spowodowa│aby za│adowanie rdzennego modu│u SCSI
  1386.   oraz modu│u sterownika "top-level" do dysk≤w przed │adowaniem
  1387.   normalnego modu│u sterownika PCMCIA. Skrypt Configure nie wykryje
  1388.   automatycznie zmodularyzowanych sterownik≤w SCSI, tak wiΩc bΩdziesz
  1389.   musia│ w│▒czyµ obs│ugΩ SCSI rΩcznie u┐ywaj▒c opcji konfiguracyjnych.
  1390.  
  1391.   Zawsze w│▒czaj swoje urz▒dzenia przed w│▒czeniem laptopa, albo przed
  1392.   w│o┐eniem karty kontrolera, tak aby szyna SCSI zosta│a poprawnie
  1393.   zako±czona podczas konfiguracji kontrolera. B▒d╝ tak┐e bardzo ostro┐ny
  1394.   przy wyjmowaniu kontrolera SCSI. Przed wyjΩciem karty upewnij siΩ, ┐e
  1395.   wszystkie urz▒dzenia do niej przydzielone zosta│y odmontowane i
  1396.   wy│▒czone. Najlepiej przed wyjΩciem karty skorzystaµ z programu
  1397.   cardctl albo cardinfo i za┐▒daµ usuniΩcia karty z systemu. W chwili
  1398.   obecnej wszystkie urz▒dzenia SCSI powinny byµ w│▒czane przed w│o┐eniem
  1399.   karty sterownika SCSI i powinny pozostaµ pod│▒czone do momentu wyjΩcia
  1400.   karty sterownika lub wy│▒czenia laptopa.
  1401.  
  1402.   Korzystanie z tych kart niesie za sob▒ potencjalne komplikacje
  1403.   nieznane w przypadku korzystania ze zwyk│ych sterownik≤w ISA. Szyna
  1404.   SCSI przenosi sygna│ "termination power" niezbΩdny do prawid│owego
  1405.   dzia│ania zwyk│ych pasywnych terminator≤w SCSI. Sterowniki SCSI
  1406.   standardu PCMCIA nie dostarczaj▒ sygna│u "power termination", je╢li
  1407.   jest on wymagany musi zostaµ dostarczony przez urz▒dzenie zewnΩtrzne.
  1408.   Niekt≤re zewnΩtrzne urz▒dzenia SCSI mog▒ zostaµ skonfigurowane w taki
  1409.   spos≤b, aby dostarcza│y wspomnianego sysgna│u. Inne, jak np. Zip Drive
  1410.   czy Syquest EZ-Drive u┐ywaj▒ aktywnych terminator≤w, przez co nie s▒
  1411.   zale┐ne od sygna│u podawanego na szynie SCSI. W niekt≤rych przypadkach
  1412.   mo┐e okazaµ siΩ konieczne skorzystanie ze specjalnego bloku
  1413.   terminatora, np. APS SCSI Sentry 2, kt≤ry posiada niezale┐ne,
  1414.   zewnΩtrzne ╝r≤d│o zasilania.  Konfiguruj▒c │a±cuch urz▒dze± SCSI
  1415.   musisz sobie zdawaµ sprawΩ, kt≤re z nich wymagaj▒ lub dostarczaj▒
  1416.   sygna│ "power termination".
  1417.  
  1418.   Kontroler Adaptec APA-460 SlimSCSI nie jest obs│ugiwany. KartΩ tΩ
  1419.   sprzedawano oryginalnie pod nazw▒ Trantor, a kiedy Adaptec po│▒czy│
  1420.   siΩ z Trantor-em, kontynuowano sprzeda┐ Trantora z nazw▒ Adaptec.
  1421.   APA-460 nie jest kompatybilny z jakimkolwiek istniej▒cym sterownikiem
  1422.   Linux-owym. Nie jestem pewien jak trudno by│oby napisaµ sterownik; nie
  1423.   s▒dzΩ, ┐eby kto╢ by│ w stanie wyci▒gn▒µ jakiekolwiek informacje od
  1424.   Adaptec-a.
  1425.  
  1426.   (Nieobs│ugiwany) Trantor SlimSCSI mo┐e zostaµ zidentyfikowany
  1427.   nastΩpuj▒co:
  1428.  
  1429.  
  1430.      Trantor / Adaptec APA-460 SlimSCSI
  1431.      FCC ID: IE8T460
  1432.      Shipped with SCSIworks! driver software
  1433.  
  1434.  
  1435.  
  1436.   (Obs│ugiwany) Adaptec SlimSCSI mo┐e zostaµ zidentyfikowany
  1437.   nastΩpuj▒co:
  1438.  
  1439.  
  1440.      Adaptec APA-1460 SlimSCSI
  1441.      FCC ID: FGT1460
  1442.      P/N: 900100
  1443.      Shipped with EZ-SCSI driver software
  1444.  
  1445.  
  1446.  
  1447.  
  1448.   3.5.1.  Diagnozowanie problem≤w z kartami SCSI.
  1449.  
  1450.  
  1451.  
  1452.  
  1453.   ╖  Przy sterowniku aha152x_cs (u┐ywanym przez Adaptec-a, New Media i
  1454.      kilka innych) ╝r≤d│em czΩstych problem≤w w napΩdach ta╢m wydaje siΩ
  1455.      byµ obs│uga od│▒czania/pod│▒czania SCSI. Aby wy│▒czyµ, tΩ
  1456.      w│a╢ciwo╢µ dodaj nastΩpuj▒c▒ liniΩ do pliku
  1457.      /etc/pcmcia/config.opts:
  1458.  
  1459.  
  1460.  
  1461.        module "aha152x_cs" opts "reconnect=0"
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.   ╖  Je╢li skompilowa│e╢ obs│ugΩ SCSI jako modu│ (CONFIG_SCSI to "m"),
  1468.      podczas konfiguracji PCMCIA, musisz wyra╝nie zaznaczyµ, ┐e chcesz,
  1469.      aby sterownik zosta│ skompilowany. Musisz zmodyfikowaµ plik
  1470.      /etc/pcmcia/config, aby │adowaµ modu│ SCSI przed odpowiednim
  1471.      sterownikiem *_cs.
  1472.  
  1473.  
  1474.   3.6.  Karty pamiΩci PCMCIA.
  1475.  
  1476.  
  1477.   Sterownik memory_cs obs│uguje wszystkie typy kart pamiΩci, jak r≤wnie┐
  1478.   dostarcza bezpo╢redniego dostepu do obszaru adresowego pamiΩci PCMCIA
  1479.   dla kart, kt≤re maj▒ inne funkcje. Po za│adowaniu tworzy kombinacjΩ
  1480.   urz▒dze± znakowych i blokowych. Przeczytaj stronΩ podrΩcznika na temat
  1481.   modu│≤w, aby dowiedzieµ siΩ wiΩcej o schemacie nazewnictwa urz▒dze±.
  1482.   Urz▒dzenia blokowe s▒ u┐ywane do dostΩpu a'la dysk (tworzenie i
  1483.   montowanie system≤w plik≤w itp.)  Urz▒dzenia znakowe s│u┐▒ do
  1484.   bezpo╢redniego (raw) niebuforowanego czytania i pisania do jakiego╢
  1485.   miejsca.
  1486.  
  1487.   Adres urz▒dzenia przekazany do memory.opts sk│ada siΩ z dw≤ch p≤l:
  1488.   schematu i numeru gniazda. Opcje odnosz▒ siΩ do pierwszej zwyk│ej
  1489.   partycji pamiΩci na odpowiedniej karcie pamiΩci. Oto przyk│ad skryptu,
  1490.   kt≤ry automatycznie montuje karty pamiΩci w zale┐no╢ci od z│▒cza, w
  1491.   kt≤re zostan▒ karty w│o┐one:
  1492.  
  1493.  
  1494.      case "$ADDRESS" in
  1495.      *,0,0)
  1496.          # Zamontuj systemy plik≤w, ale nie uaktualniaj /etc/fstab
  1497.          DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
  1498.          FSTYPE="ext2" ; OPTS=""
  1499.          MOUNTPT="/mem0"
  1500.          ;;
  1501.      *,1,0)
  1502.          # Zamontuj systemy plik≤w, ale nie uaktualniaj /etc/fstab
  1503.          DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
  1504.          FSTYPE="ext2" ; OPTS=""
  1505.          MOUNTPT="/mem0"
  1506.          ;;
  1507.      esac
  1508.  
  1509.  
  1510.  
  1511.   Niekt≤re starsze karty pamiΩci i wiΩkszo╢µ prostych statycznych kart
  1512.   RAM nie posiadaj▒ "Card Information Structure" (CIS), kt≤ra jest
  1513.   schematem u┐ywanym przez karty PCMCIA do identyfikowania siΩ.
  1514.   Normalnie cardmgr za│o┐y, ┐e ka┐da karta, w kt≤rej brakuje owej
  1515.   struktury jest prost▒ kart▒ pamiΩci i za│aduje sterownik memory_cs. I
  1516.   tak, czΩstym skutkiem ubocznym og≤lnego identyfikowania kart jest
  1517.   identyfikacja innego typu kart jako karty pamiΩci.
  1518.  
  1519.   Sterownik memory_cs u┐ywa heurystyki, aby zgadn▒µ pojemno╢µ tych kart.
  1520.   Heurystyka nie dzia│a jednak dla kart zabezpieczonych przed zapisem i
  1521.   mo┐e czyniµ b│Ωdy tak┐e w innych przypadkach. Je╢li karta zosta│a ╝le
  1522.   zidentyfikowana, jej rozmiar powinien byµ wyra╝nie podany podczas
  1523.   u┐ywania takich polece± jak dd czy mkfs.
  1524.  
  1525.  
  1526.   3.6.1.  U┐ywanie kart pamiΩci "flash".
  1527.  
  1528.  
  1529.   Adres urz▒dzenia przekazywany do ftl.opts sk│ada siΩ z trzech lub
  1530.   czterech p≤l: schematu, numeru gniazda, numeru regionu i opcjonalnie
  1531.   numeru partycji. WiΩkszo╢µ kart "flash" ma tylko jeden region pamiΩci
  1532.   "flash", wiΩc numerem regionu zwykle bΩdzie zero.
  1533.  
  1534.   Aby u┐yµ karty pamiΩci "flash" jako zwyk│ego urz▒dzenia blokowego jak
  1535.   dysk, stw≤rz najpierw partycjΩ "flash translation layer" na tym
  1536.   urz▒dzeniu poleceniem ftl_format:
  1537.  
  1538.  
  1539.  
  1540.        ftl_format -i /dev/mem0c0c
  1541.  
  1542.  
  1543.  
  1544.  
  1545.   Zauwa┐, ┐e polecenie to uzyskuje dostΩp do karty przez bezpo╢redni
  1546.   interfejs pamiΩci karty. Raz sformatowana karta mo┐e byµ u┐ywana jako
  1547.   zwyk│e urz▒dzenie blokowe przy pomocy sterownika ftl_cs.  Na przyk│ad:
  1548.  
  1549.  
  1550.  
  1551.        mke2fs /dev/ftl0c0
  1552.        mount -t ext2 /dev/ftl0c0 /mnt
  1553.  
  1554.  
  1555.  
  1556.  
  1557.   Nazewnictwo dla urz▒dze± FTL jest trochΩ pokrΩcone. Poboczne liczby
  1558.   urz▒dze± maj▒ trzy czΩ╢ci: numer karty, numer regionu na tej karcie i
  1559.   opcjonalnie partycjΩ w tym regionie. Region mo┐e byµ traktowany jako
  1560.   pojedyncze urz▒dzenie blokowe bez tablicy partycji (jak dyskietka)
  1561.   albo mo┐na go podzieliµ na partycje tak jak dysk twardy. Urz▒dzenie
  1562.   "ftl0c0" jest kart▒ 0 o numerze regionu 0 i ca│ym regionem. Urz▒dzenia
  1563.   od "ftl0c0p1" do "ftl0c0p4" s▒ g│≤wnymi partycjami 1 do 4 je╢li region
  1564.   zosta│ podzielony.
  1565.  
  1566.   S▒ dwa g│≤wne formaty dla kart pamiΩci flash: styl "flash translation
  1567.   layer", i styl "Microsoft Flash File System". Format FTL jest og≤lnie
  1568.   bardziej elastyczny poniewa┐ pozwala na u┐ycie ka┐dego zwyk│ego
  1569.   wysokopoziomowego systemu plik≤w (ext2, ms-dos itp.)  na kartach
  1570.   pamiΩci "flash" tak jakby by│y one na zwyk│ym urz▒dzeniu dyskowym. FFS
  1571.   jest ca│kiem odmiennym systemem plik≤w.  Linux nie umie w tej chwili
  1572.   ob│ugiwaµ kart sformatowanych w tym systemie.
  1573.  
  1574.  
  1575.   3.7.  Karty PCMCIA napΩd≤w ATA/IDE.
  1576.  
  1577.  
  1578.   Obs│uga napΩd≤w ATA/IDE wymaga jadra 1.3.72 lub nowszego.  Specyficzna
  1579.   dla PCMCIA czΩ╢µ sterownika to fixed_cs. PamiΩtaj ┐eby u┐ywaµ cardctl
  1580.   albo cardinfo do wy│▒czania karty ATA/IDE przed wyjΩciem jej, poniewa┐
  1581.   sterownik nie jest odporny na "gor▒ce zmiany".
  1582.  
  1583.   Adresy urz▒dzenia przekazywane do fixed.opts sk│adaj▒ siΩ z trzech
  1584.   albo czterech p≤l: bie┐▒cy schemat, numer gniazda, numer seryjny
  1585.   napΩdu i opcjonalny numer partycji. Tak samo jak w przypadku urz▒dze±
  1586.   SCSI, fixed.opts jest najpierw wywo│ywany dla ca│ego urz▒dzenia. Je╢li
  1587.   fixed.opts zwr≤ci listΩ partycji w zmiennej PARTS, skrypt zostanie
  1588.   wtedy wywo│any dla ka┐dej partycji.
  1589.  
  1590.   Oto przyk│ad pliku fixed.opts, kt≤ry montuje pierwsz▒ partycjΩ
  1591.   jakiejkolwiek karty ATA/IDE na /mnt.
  1592.  
  1593.  
  1594.      case "$ADDRESS" in
  1595.      *,*,*)
  1596.          PARTS="1"
  1597.          ;;
  1598.      *,*,*,1)
  1599.          DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
  1600.          FSTYPE="msdos"
  1601.          OPTS=""
  1602.          MOUNTPT="/mnt"
  1603.          ;;
  1604.      esac
  1605.  
  1606.  
  1607.  
  1608.   Zauwa┐, ┐e domy╢lny plik fixed.opts posiada te linie, ale s▒ one w
  1609.   komentarzu. Je╢li chcesz, mo┐esz mieµ oddzielne konfiguracje dla
  1610.   konkretnych kart oparte na ich numerach seryjnych. Aby odszukaµ numer
  1611.   seryjny napΩdu, u┐yj narzΩdzia ide_info. Wtedy czΩ╢µ fixed.opts mo┐e
  1612.   wygl▒daµ tak:
  1613.  
  1614.  
  1615.      case "$ADDRESS" in
  1616.      *,*,Z4J60542)
  1617.          # To s▒ moje rzeczy DOS-owe
  1618.          PARTS="1"
  1619.          ;;
  1620.      *,*,Z4J60542,1)
  1621.          DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
  1622.          FSTYPE="msdos"
  1623.          OPTS=""
  1624.          MOUNTPT="/mnt"
  1625.          ;;
  1626.      esac
  1627.  
  1628.  
  1629.  
  1630.  
  1631.   3.7.1.  Diagnozowanie problem≤w z adapterami ATA/IDE.
  1632.  
  1633.  
  1634.  
  1635.   ╖  Niekt≤re napedy IDE zaburzaj▒ specyfikacjΩ PCMCIA przez ┐▒danie
  1636.      d│u┐szego czasu na "rozkrΩcenie siΩ" ni┐ maksymalny dozwolony czas
  1637.      na setup. Aby u┐ywaµ tych kart za│aduj modu│ pcmcia_core z opcj▒:
  1638.  
  1639.  
  1640.  
  1641.        CORE_OPTS="unreset_delay=400"
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.   ╖  Aby u┐ywaµ urz▒dzenia ATA/IDE CD-ROM, twoje j▒dro musi byµ
  1648.      skompilowane z w│▒czon▒ opcj▒ CONFIG_BLK_DEV_IDECD. BΩdzie to
  1649.      zwykle przypadek dla standardowych j▒der, chocia┐ jest to co╢ o
  1650.      czym╢ powiniene╢ wiedzieµ je╢li kompilujesz j▒dro z w│asn▒
  1651.      konfiguracj▒.
  1652.  
  1653.  
  1654.   3.8.  Karty wielofunkcyjne.
  1655.  
  1656.  
  1657.   Od j▒dra w wersji 1.3.73 pojedyncze przerwanie mo┐e byµ dzielone
  1658.   miΩdzy kilka sterownik≤w jak sterownik szeregowy i ethernetu.  Je╢li
  1659.   u┐ywasz wielofunkcyjnej karty z nowszym j▒drem, to wszystkie funkcje
  1660.   tej karty s▒ dostΩpne bez potrzeby prze│adowywania sterownik≤w.
  1661.  
  1662.   Symultaniczne u┐ycie dw≤ch funkcji karty wymaga trochΩ sprytu i r≤┐ni
  1663.   sprzedawcy sprzΩtu zaimplementowali dzielenie przerwa± na sw≤j,
  1664.   niekompatybilny (i czasem nieudokumentowany) spos≤b. Sterowniki do
  1665.   niekt≤rych kart (Ositech Jack of Diamonds, 3Com 3c562, Linksys)
  1666.   udostΩpniaj▒ poprawnie symultaniczno╢µ, ale inne (szczeg≤lnie
  1667.   Megahertz) - nie.
  1668.  
  1669.   Wcze╢niejsze j▒dra nie obs│ugiwa│y dzielenia przerwa± pomiΩdzy r≤┐ne
  1670.   sterowniki urz▒dze±, wiΩc jest niemo┐liwe skonfigurowanie kart modemu
  1671.   i ethernetu do dzia│ania symultanicznego. Sterowniki ethernetowy i
  1672.   modemowy s▒ │adowane jednocze╢nie automatycznie.  Chocia┐ sterownik
  1673.   ethernetowy przejmuje przerwanie domy╢lnie. Aby u┐yµ modemu mo┐esz
  1674.   usun▒µ sterownik ethernetowy z pamiΩci i zrekonfigurowaµ port
  1675.   szeregowy czym╢ takim:
  1676.  
  1677.  
  1678.  
  1679.        ifconfig eth0 down
  1680.        rmmod 3c589_cs
  1681.        setserial /dev/modem autoconfig auto_irq
  1682.        setserial /dev/modem
  1683.  
  1684.  
  1685.  
  1686.  
  1687.   Drugie polecenie setserial powinno zweryfikowaµ czy port zosta│
  1688.   skonfigurowany tak, aby u┐yµ przerwania poprzednio u┐ywanego przez
  1689.   sterownik ethernetowy.
  1690.  
  1691.  
  1692.   3.9.  Kiedy mo┐na bezpiecznie w│o┐yµ albo wyj▒µ kartΩ PCMCIA ?
  1693.  
  1694.  
  1695.   Teoretycznie mo┐esz wk│adaµ i wyjmowaµ karty PCMCIA w ka┐dym momencie.
  1696.   Chcocia┐, generalnie dobrze jest nie wyjmowaµ karty je╢li jest ona
  1697.   akurat u┐ywana przez jak▒╢ aplikacjΩ. J▒dra starsze ni┐ 1.1.77 czΩsto
  1698.   zawiesza│yby siΩ podczas wyjmowania kart szeregowych lub modemowych,
  1699.   ale to powinno ju┐ byµ naprawione.
  1700.  
  1701.  
  1702.   3.10.  Card Services i Advanced Power Management.
  1703.  
  1704.  
  1705.   Pakiet Card Services mo┐e zostaµ skompilowany z obs│ug▒ APM (Advanced
  1706.   Power Management) je╢li zainstalowa│e╢ ten pakiet w swoim systemie.
  1707.   APM jest do│▒czony do j▒der 1.3.46 i nowszych.  Opiekunem tego pakietu
  1708.   jest obecnie Rick Faith (faith@cs.unc.edu), a narzΩdzia do APM mo┐na
  1709.   uzyskaµ z ftp.cs.unc.edu.  Modu│y PCMCIA zostan▒ skonfigurowane
  1710.   automatycznie pod wzglΩdem APM je╢li na twoim systemie zostanie
  1711.   wykryta wersja kompatybilna.
  1712.  
  1713.   Aby poprawnie zako±czyµ dzia│anie i ponownie wystartowaµ karty PCMCIA,
  1714.   mo┐esz wykonaµ cardctl suspend przed zawieszeniem twojego laptopa i
  1715.   cardctl resume po przywr≤ceniu go do pracy bez zmian w APM.
  1716.   Niezadzia│a to jednak z modemem PCMCIA, kt≤ry jest w│a╢nie u┐ywany,
  1717.   poniewa┐ sterownik szeregowy nie jest w stanie zachowaµ i odtworzyµ
  1718.   parametr≤w operacyjnych modemu.
  1719.  
  1720.   APM wydaje siΩ byµ niepewne na niekt≤rych systemach. Je╢li masz
  1721.   problemy z APM i PCMCIA w twoim systemie, spr≤buj zawΩziµ problem do
  1722.   jednego albo drugiego pakietu zanim wy╢lesz list z raportem o b│Ωdzie.
  1723.  
  1724.   Niekt≤re sterowniki, szczeg≤lnie sterowniki PCMCIA SCSI, nie mog▒ siΩ
  1725.   odtworzyµ ze stanu zawie╢/odtw≤rz. Kiedy u┐ywasz karty PCMCIA SCSI,
  1726.   u┐yj cardctl eject zanim zawiesisz system.
  1727.  
  1728.  
  1729.   3.11.  Jak mam wy│▒czyµ kartΩ PCMCIA bez wyjmowania jej  ?
  1730.  
  1731.  
  1732.   U┐yj polecenia cardctl albo cardinfo. Polecenie cardctl suspend #
  1733.   zawiesi jedno gniazdo, i wy│▒czy jego zasilanie. Odpowiednie polecnie
  1734.   resume obudzi kartΩ w stan poprzedni.
  1735.  
  1736.  
  1737.   3.12.  Jak usuwam sterowniki PCMCIA z pamiΩci ?
  1738.  
  1739.  
  1740.   Aby usun▒µ ca│y pakiet PCMCIA, uruchomrc.pcmcia tak:
  1741.  
  1742.  
  1743.   /etc/rc.d/rc.pcmcia stop
  1744.  
  1745.  
  1746.  
  1747.   Uruchomienie tego skryptu zajmie kilka sekund, poniewa┐ daje on czas
  1748.   wszystkim sterownikom-klientom na poprawne zako±czenie dzia│ania.
  1749.   Je╢li jakie╢ urz▒dzenie PCMCIA jest akurat u┐ywane, zako±czenie bΩdzie
  1750.   niekompletne, i niekt≤re modu│y j▒dra mog▒ nie zostaµ usuniΩte. Aby
  1751.   tego unikn▒µ u┐yj cardctl eject, aby zamkn▒µ wszystkie gniazda przed
  1752.   uruchomieniem rc.pcmcia.  Status wyj╢ciowy polecenia cardctl okre╢li
  1753.   czy jakie╢ gniazdo nie mog│o byµ zamkniΩte.
  1754.  
  1755.  
  1756.  
  1757.   4.  Zaawansowane tematy.
  1758.  
  1759.  
  1760.  
  1761.   4.1.  Alokoacja zasob≤w dla urz▒dze± PCMCIA.
  1762.  
  1763.  
  1764.   Teoretycznie nie powinno mieµ znaczenia kt≤re przerwanie jest
  1765.   alokowane dla kt≤rego urz▒dzenia tak d│ugo jak dwa urz▒dzenia nie s▒
  1766.   skonfigurowane, aby u┐ywaµ tego samego przerwania. W pliku
  1767.   /etc/pcmcia/config.opts znajdziesz miejsce na wy│▒czenie przerwa±,
  1768.   kt≤re s▒ u┐ywane przez inne urz▒dzenia ni┐ PCMCIA.
  1769.  
  1770.   Podobnie, nie ma sposobu, aby bezpo╢rednio podaµ adresy IO, kt≤re maj▒
  1771.   byc u┐ywane przez karty PCMCIA. Plik /etc/pcmcia/config.opts pozwala
  1772.   na podanie obszaru port≤w dostΩpnego dla wszystkich sterownik≤w
  1773.   PCMCIA, albo wy│▒czyµ obszary, kt≤re powoduj▒ konflikty.
  1774.  
  1775.   Po zmodyfikowaniu pliku /etc/pcmcia/config.opts mo┐esz zrestartowaµ
  1776.   cardmgr poleceniem "kill -HUP".
  1777.  
  1778.   Przerwanie u┐ywane do monitorowania statusu zmian karty jest wybierane
  1779.   przez modu│ sterownika niskiego poziomu (i82365 lub tcic) przed
  1780.   zinterpretowaniem pliku /etc/pcmcia/config przez cardmgr, wiΩc plik
  1781.   ten nie ma wp│ywu na wyb≤r tego w│a╢nie przerwania. Aby ustawiµ to
  1782.   przerwanie u┐yj opcji cs_irq= podczas │adowania sterownika gniazd,
  1783.   przez ustawienie zmiennej PCIC_OPTS w pliku /etc/rc.d/rc.pcmcia.
  1784.  
  1785.   Wszystkie sterowniki kart klient≤w maj▒ parametr irq_list do
  1786.   podawania, kt≤re przerwania mog▒ pr≤bowaµ one zaalokowaµ. Te opcje
  1787.   powinny byµ ustawione w pliku /etc/pcmcia/config. Np.:
  1788.  
  1789.  
  1790.  
  1791.        device "serial_cs"
  1792.          module "serial_cs" opts "irq_list=8,12"
  1793.          ...
  1794.  
  1795.  
  1796.  
  1797.  
  1798.   wymusi│oby u┐ycie tylko przerwa± IRQ 8 i 12. Nie zale┐nie od usatwie±
  1799.   irq_list, Card Services nigdy nie zaalokuje przerwania, kt≤re jest ju┐
  1800.   u┐ywane przez inne urz▒dzenie albo przerwania, kt≤re jest wy│▒czone w
  1801.   pliku konfiguracyjnym.
  1802.  
  1803.  
  1804.   4.2.  Jak zrobiµ dwie r≤┐ne konfiguracje urz▒dze± do domu i pracy ?
  1805.  
  1806.  
  1807.   Jest to ca│kiem proste u┐ywaj▒c schemat≤w PCMCIA.
  1808.   U┐yj dw≤ch schemat≤w konfiguracyjnych o nazwie "dom" i "praca".  Oto
  1809.   przyk│ad skryptu network.opts z konkretnymi  ustawieniami dla r≤┐nych
  1810.   schemat≤w:
  1811.  
  1812.  
  1813.      case "$ADDRESS" in
  1814.      praca,*,*,*)
  1815.          # definicje dla kart sieciowych w pracy
  1816.          ...
  1817.          ;;
  1818.      dom,*,*,*|default,*,*,*)
  1819.          # definicje dla kart sieciowych w domu
  1820.          ...
  1821.          ;;
  1822.      esac
  1823.  
  1824.  
  1825.  
  1826.   Pierwsz▒ czΩ╢ci▒ adresu urz▒dzenia PCMCIA jest zawsze schemat
  1827.   konfiguracyjny. W tym przyk│adzie, drugi przypadek w "case" wybierze
  1828.   oba schematy: domowy i domy╢lny. WiΩc je╢li schemat nie jest
  1829.   ustawiony, domy╢lnym bΩdzie schemat domowy.
  1830.  
  1831.   Teraz, aby wybraµ pomiΩdzy tymi dwoma ustawieniami uruchom albo:
  1832.  
  1833.  
  1834.      cardctl scheme dom
  1835.  
  1836.  
  1837.  
  1838.   albo
  1839.  
  1840.  
  1841.      cardctl scheme praca
  1842.  
  1843.  
  1844.  
  1845.   Polecenie cardctl wy│▒cza wszystkie twoje karty i inicjuje je
  1846.   ponownie. Polecenie to mo┐e byµ bezpiecznie u┐ywane, nie zale┐nie od
  1847.   tego czy system PCMCIA jest za│adowany czy nie, ale polecenie to mo┐e
  1848.   siΩ nie powie╢µ je╢li u┐ywasz innych urz▒dze± PCMCIA w tym samym
  1849.   czasie (nawet je╢li ich konfiguracje nie r≤┐ni▒ siΩ wyra╝nie od
  1850.   ustawie± schemat≤w).
  1851.  
  1852.   Aby zobaczyµ bie┐▒ce ustawienia schematu PCMCIA uruchom:
  1853.  
  1854.  
  1855.      cardctl scheme
  1856.  
  1857.  
  1858.  
  1859.  
  1860.   4.3.  Startowanie z urz▒dzenia PCMCIA.
  1861.  
  1862.  
  1863.   Posiadanie g│≤wnego systemu plik≤w na urz▒dzeniu PCMCIA jest trochΩ
  1864.   k│opotliwe, bo system PCMCIA na Linux-a nie zosta│ przystosowany do
  1865.   w│▒czenia do j▒dra. G│≤wne sk│adniki, │adowalne modu│y i uruchamiany w
  1866.   trybie u┐ytkownika demon cardmgr, zale┐▒ od ju┐ dzia│aj▒cego systemu.
  1867.   Mo┐liwo╢µ startu przy pomocy "initrd" pozwala obej╢µ ten problem
  1868.   pozwalaj▒c Linux-owi wystartowaµ u┐ywaj▒c tymczasowego ramdysku jako
  1869.   minimalnego obrazu katalogu g│≤wnego, za│adowaµ sterowniki i potem
  1870.   ponownie zamontowaµ inny system plik≤w jako katalog g│≤wny. Tymczasowy
  1871.   katalog g│≤wny mo┐e skonfigurowaµ urz▒dzenia PCMCIA i potem zamontowaµ
  1872.   urz▒dzenie PCMCIA jako katalog g│≤wny.
  1873.  
  1874.   Niekt≤re dystrybucje Linux-a pozwalaj▒ na instalacjΩ na urz▒dzeniu
  1875.   pod│▒czonym do kontrolera SCSI PCMCIA, jako niezamierzony skutek
  1876.   uboczny mo┐liwo╢ci instalacji z CD-ROM-≤w pod│▒czonych do SCSI PCMCIA.
  1877.   Aczkolwiej w tej chwili ┐adne narzΩdzie instalacyjne dla Linux-a nie
  1878.   pozwala na konfiguracjΩ odpowiedniego "initrd" do startu z g│≤wnym
  1879.   systemem plik≤w na PCMCIA. Dlatego te┐ konfiguracja takiego systemu
  1880.   wymaga u┐ycia drugiego Linux-a, aby stworzyµ obraz "initrd". Je╢li nie
  1881.   masz dostΩpu do drugiego Linux-a, to inn▒ mo┐liwo╢ci▒ jest tymczasowe
  1882.   zainstalowanie minimalnego Linux-a na napΩdzie nie bΩd▒cym urz▒dzeniem
  1883.   PCMCIA, stworzenie obrazu initrd i zainstalowanie na PCMCIA.
  1884.  
  1885.   W Bootdisk-HOWTO znajduj▒ siΩ og≤lne informacje jak zrobiµ dyskietki
  1886.   startowe, ale nic konkretnego na temat initrd. G│≤wny dokument
  1887.   opisuj▒cy initrd zawarty jest w ostatnich ╝r≤d│ach j▒dra Linux-a w
  1888.   katalogu linux/Documentation/initrd.txt. Zanim zaczniesz powiniene╢ to
  1889.   przeczytaµ. Pomocna jest te┐ znajomo╢µ lilo. U┐ycie initrd wymaga
  1890.   tak┐e w│▒czonych opcji CONFIG_BLK_DEV_RAM i CONFIG_BLK_DEV_INITRD w
  1891.   j▒drze.
  1892.  
  1893.  
  1894.   4.3.1.  Skrypt-pomocnik pcinitrd.
  1895.  
  1896.  
  1897.   Skrypt pcinitrd tworzy podstawowy obraz initrd do startowania z
  1898.   g│≤wnej partycji na PCMCIA. W obrazie tym zawarte s▒: minimalna
  1899.   struktura katalog≤w, potrzebne pliki urz▒dze±, kilka program≤w,
  1900.   biblioteki dzielone i zbi≤r sterownik≤w-modu│≤w PCMCIA. Podczas
  1901.   uruchamiania pcinitrd podajesz sterowniki-modu│y, kt≤re maj▒ byµ
  1902.   zawarte w obrazie. G│≤wne sk│adniki PCMCIA, pcmcia_core i ds s▒
  1903.   do│▒czane automatycznie.
  1904.  
  1905.   Na przyk│ad powiedzmy, ┐e tw≤j laptop u┐ywa kontrolera PCMCIA
  1906.   kompatybilnego z i82365 i chcesz startowaµ Linux-a z g│≤wnym systemem
  1907.   plik≤w na dysku twardym przy│▒czonym do kontrolera Adpatec SlimSCSI.
  1908.   Mo┐esz stworzyµ odpowiedni obraz przy pomocy;
  1909.  
  1910.  
  1911.  
  1912.        pcinitrd -v initrd pcmcia/i82365.o pcmcia/aha152x_cs.o
  1913.  
  1914.  
  1915.   Aby ustawiµ sobie start initrd wedle swojego uznania, mo┐esz
  1916.   zamontowaµ obraz u┐ywaj▒c urz▒dzenia "loopback" poleceniem:
  1917.  
  1918.  
  1919.  
  1920.        mount -o loop -t ext2 initrd /mnt
  1921.  
  1922.  
  1923.  
  1924.  
  1925.   i potem zmodyfikuj skrypt linuxrc. Pliki konfiguracyjne PCMCIA zostan▒
  1926.   zainstalowane w obrazie w katalogu /etc i tak┐e mog▒ byµ ustawione
  1927.   wedle w│asnego uznania. WiΩcej informacji znajdziesz w podrΩczniku
  1928.   'man pcinitrd'.
  1929.  
  1930.  
  1931.   4.3.2.  Tworzenie dyskietki startowej z initrd.
  1932.  
  1933.  
  1934.   Po stworzeniu obrazu skryptem pcinitrd, mo┐esz stworzyµ dyskietkΩ
  1935.   startow▒ kopiuj▒c j▒dro, skompresowany obraz initrd i kilka
  1936.   pomocniczych program≤w dla lilo na czyst▒ dyskietkΩ. W nastΩpuj▒cym
  1937.   przyk│adzie zak│adamy, ┐e g│≤wny system plik≤w znajduje siΩ na
  1938.   /dev/sda1:
  1939.  
  1940.  
  1941.  
  1942.        mke2fs /dev/fd0
  1943.        mount /dev/fd0 /mnt
  1944.        mkdir /mnt/etc /mnt/boot /mnt/dev
  1945.        cp -a /dev/fd0 /dev/sda1 /mnt/dev
  1946.        cp [j▒dro] /mnt/vmlinuz
  1947.        gzip < [obraz-initrd] > /mnt/initrd
  1948.  
  1949.  
  1950.  
  1951.  
  1952.   Stw≤rz /mnt/etc/lilo.conf z tak▒ zawarto╢ci▒:
  1953.  
  1954.  
  1955.  
  1956.        boot=/dev/fd0
  1957.        compact
  1958.        image=/vmlinuz
  1959.            label=linux
  1960.           initrd=/initrd
  1961.            read-only
  1962.            root=/dev/sda1
  1963.  
  1964.  
  1965.  
  1966.  
  1967.   Na ko±cu uruchom:
  1968.  
  1969.  
  1970.  
  1971.        lilo -r /mnt
  1972.  
  1973.  
  1974.  
  1975.  
  1976.   Je╢li lilo uruchomione jest z parametrem -r, wszystkie akcje
  1977.   wykonywane s▒ z podanym katalogiem jako g│≤wny system plik≤w.  Powodem
  1978.   utworzenia plik≤w urz▒dze± w /mnt/dev by│o to, ┐e lilo nie bΩdzie w
  1979.   stanie u┐yµ plik≤w w /dev kiedy bΩdzie uruchomione z alternatywnym
  1980.   katalogiem g│≤wnym.
  1981.   4.3.3.  Instalacja obrazu initrd na napΩdach bez Linux-a.
  1982.  
  1983.  
  1984.   Jednym z popularnych zastosowa± initrd s▒ systemy gdzie wewnΩtrzny
  1985.   dysk twardy jest dedykowany dla innego systemu operacyjnego. J▒dro
  1986.   Linux-a i obraz initrd mog▒ zostaµ umieszczone na partycji bez Linux-a
  1987.   a lilo lub LOADLIN mog▒ zostaµ skonfigurowane, aby │adowa│y Linux-a z
  1988.   tych obraz≤w.
  1989.  
  1990.   Zak│▒daj▒c, ┐e twoje j▒dro jest skonfigurowane na odpowiednie
  1991.   urz▒dzenie z g│≤wnym systemem plik≤w i masz stworzony obraz initrd na
  1992.   innym Linux-ie, najprostszym sposobem aby zacz▒µ, to wystartowanie
  1993.   Linux-a u┐ywaj▒c LOADLIN-a w ten spos≤b:
  1994.  
  1995.  
  1996.  
  1997.        LOADLIN <kernel> initrd=<initrd-image>
  1998.  
  1999.  
  2000.  
  2001.  
  2002.   Jak ju┐ mo┐esz wystartowaµ Linux-a na swojej maszynie, mo┐esz wtedy
  2003.   zainstalowaµ lilo aby umo┐liwiµ startowanie Linux-a bezpo╢rednio.
  2004.   Na przyk│ad powiedzmy, ┐e /dev/hda1 jest partycj▒ bez Linux-a i /mnt
  2005.   mo┐na u┐yµ jako katalog do montowania.  najpierw utw≤rz podkatalog na
  2006.   partycji docelowej dla plik≤w Linux-a:
  2007.  
  2008.  
  2009.  
  2010.        mount /dev/hda1 /mnt
  2011.        mkdir /mnt/linux
  2012.        cp [obraz-j▒dra] /mnt/linux/vmlinuz
  2013.        cp [obraz-initrd] /mnt/linux/initrd
  2014.  
  2015.  
  2016.  
  2017.  
  2018.   W tym przyk│adzie, powiedzmy, ┐e /dev/sda1 jest partycj▒ na kt≤rej ma
  2019.   siΩ znale╝µ g│≤wny system plik≤w, dysk twardy SCSI zamontowany przez
  2020.   kontroler SCSI PCMCIA. Aby zainstalowaµ lilo, stw≤rz plik lilo.conf z
  2021.   tak▒ zawarto╢ci▒:
  2022.  
  2023.  
  2024.  
  2025.        boot=/dev/hda
  2026.        map=/mnt/linux/map
  2027.        compact
  2028.        image=/mnt/linux/vmlinuz
  2029.                label=linux
  2030.                root=/dev/sda1
  2031.                initrd=/mnt/linux/initrd
  2032.                read-only
  2033.        other=/dev/hda1
  2034.                table=/dev/hda
  2035.                label=windows
  2036.  
  2037.  
  2038.  
  2039.  
  2040.   Linia boot= informuje, ┐eby zainstalowaµ program │aduj▒cy system do
  2041.   Master Boot Record podanego urz▒dzenia. Linia root= identyfikuje
  2042.   konkretny g│≤wny system plik≤w, kt≤ry ma zostaµ u┐yty po za│adowaniu
  2043.   obrazu initrd, parametr ten mo┐e byµ niepotrzebny je╢li j▒dro jest ju┐
  2044.   skonfigurowane w ten spos≤b. Sekcja other= u┐ywana jest do opisania
  2045.   innego systemu operacyjnego zainstalowanego na /dev/hda1.
  2046.  
  2047.   Aby zainstalowaµ lilo w tym przypadku u┐yj:
  2048.  
  2049.  
  2050.  
  2051.        lilo -C lilo.conf
  2052.  
  2053.  
  2054.  
  2055.  
  2056.   Zauwa┐, ┐e w tym przypadku plik lilo.conf u┐ywa scie┐ek absolutnych,
  2057.   kt≤re zawieraj▒ /mnt. Zrobi│em tak w przyk│adzie poniewa┐ docelowy
  2058.   system plik≤w mo┐e nie umieµ tworzyµ urz▒dze± Linux-a dla parametr≤w
  2059.   boot= i root=.
  2060.  
  2061.  
  2062.   5.  Jak radziµ sobie z nieobs│ugiwanymi kartami.
  2063.  
  2064.  
  2065.  
  2066.   5.1.  Konfiguracja nieobs│ugiwanych kart.
  2067.  
  2068.  
  2069.   Zak│adaj▒c, ┐e twoja karta jest obs│ugiwana przez istniej▒cy
  2070.   sterownik, wszystko co trzeba zrobiµ, to dodaµ pozycjΩ do
  2071.   /etc/pcmcia/config, kt≤ra poinformuje cardmgr jak zidentyfikowaµ kartΩ
  2072.   i kt≤ry(e) sterownik(i) do│▒czyµ do tej karty. WiΩcej informacji na
  2073.   temat formatu pliku konfiguracyjnego na stronie podrΩcznika "man" na
  2074.   temat pcmcia. Je╢li w│o┐ysz nieznan▒ kartΩ, to cardmgr z regu│y
  2075.   zapisze trochΩ informacji identyfikacyjnych w logu systemowym, kt≤ry
  2076.   mo┐e zostaµ u┐yty do konfiguracji.
  2077.  
  2078.   Oto przyk│ad raportu cardmgr w /usr/adm/messages na temat nieznanej
  2079.   karty:
  2080.  
  2081.  
  2082.      cardmgr[460]: unsupported card in socket 1
  2083.      cardmgr[460]: version info: "MEGAHERTZ", "XJ2288", "V.34 PCMCIA
  2084.      MODEM"
  2085.  
  2086.  
  2087.  
  2088.   Odpowiadaj▒ca pozycja konfiguracyjna w /etc/pcmcia/config wygl▒da│oby
  2089.   tak:
  2090.  
  2091.  
  2092.      card "Megahertz XJ2288 V.34 Fax Modem"
  2093.        version "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
  2094.        bind "serial_cs"
  2095.  
  2096.  
  2097.  
  2098.   Mo┐esz u┐yµ "*", aby oznaczyµ │a±cuchy, kt≤re nie musz▒ siΩ dok│adnie
  2099.   zgadzaµ, jak np. numery wersji. Kiedy robisz now▒ pozycjΩ
  2100.   konfiguracyjn▒, zwr≤µ uwagΩ na to, ┐eby dok│adnie skopiowaµ │a±cuchy,
  2101.   zachowuj▒c wszelkie du┐e i ma│e litery oraz przerwy (spacje). Upewnij
  2102.   siΩ tak┐e, ┐e pozycja konfiguracyjna ma tak▒ sam▒ ilo╢µ │a±cuch≤w jak
  2103.   to stwierdzono w logach.
  2104.  
  2105.   Po tym jak zmodyfikujesz /etc/pcmcia/config, mo┐esz poinformowaµ
  2106.   cardmgr, aby prze│adowa│ plik konfiguracyjny:
  2107.  
  2108.  
  2109.      kill -HUP `cat /var/run/cardmgr.pid`
  2110.  
  2111.  
  2112.  
  2113.   Je╢li uda ci siΩ ustawiµ jak▒╢ pozycjΩ konfiguracyjn▒ dla nowej karty,
  2114.   przy╢lij mi kopiΩ proszΩ, tak ┐ebym m≤g│ j▒ do│▒czyµ do standardowego
  2115.   pliku konfiguracyjnego.
  2116.  
  2117.  
  2118.   5.2.  Jak mam dodaµ obs│ugΩ dla karty kompatybilnej z NE2000 ?
  2119.  
  2120.  
  2121.   Najpierw sprawd╝, czy karta nie zosta│a ju┐ rozpoznana przez cardmgr.
  2122.   Niekt≤re karty nie wymienione w SUPPORTED.CARDS s▒ wersjami OEM kart
  2123.   obs│ugiwanych. Je╢li znajdziesz taka kartΩ, daj mi znaµ, ┐ebym m≤g│ j▒
  2124.   dodaµ do listy.
  2125.  
  2126.   Je╢li twoja karta nie zosta│a rozpoznana, postΩpuj zgodnie z
  2127.   instrukcjami w sekcji ``3.6'', aby stworzyµ pozycjΩ konfiguracyjn▒ dla
  2128.   twojej karty oraz powi▒┐ swoj▒ kartΩ ze sterownikiem pcnet_cs.
  2129.   Zrestartuj cardmgr, aby u┐yµ nowego zaktualizowanego pliku
  2130.   konfiguracyjnego.
  2131.  
  2132.   Je╢li sterownik pcnet_cs twierdzi, ┐e nie mo┐e okre╢liµ adresu
  2133.   sprzΩtowego twojej karty ethernet-owej, to zmodyfikuj nowy plik
  2134.   konfiguracyjny, aby powi▒zaµ kartΩ ze sterownikiem karty pamiΩci -
  2135.   memory_cs. Zrestartuj cardmgr, aby u┐yµ nowego zaktualizowanego pliku
  2136.   konfiguracyjnego.  BΩdziesz musia│ znaµ adres sprzΩtowy swojej karty
  2137.   sieciowej. Adres ten jest seri▒ dwucyfrowych szesnastkowych liczb,
  2138.   czΩsto wydrukowanych na karcie.  Je╢li go tam nie ma, mo┐esz u┐yµ
  2139.   sterownika DOS-owego, aby go wy╢wietliµ. W ka┐dym razie, jak go ju┐
  2140.   znasz to uruchom:
  2141.  
  2142.  
  2143.      dd if=/dev/mem0a count=20 | od -Ax -t x1
  2144.  
  2145.  
  2146.  
  2147.   i poszukaj linijki z twoim adresem. Tylko parzyste bajty s▒
  2148.   zdefiniowane, wiec zignoruj bajty nieparzyste w wyniku. Zapisz
  2149.   szesnastkowy offset pierwszego bajtu adresu. Teraz wyedytuj
  2150.   modules/pcnet_cs.c i znajd╝ strukturΩ hw_info.  BΩdziesz musia│
  2151.   utworzyµ now▒ pozycjΩ dla twojej karty. Pierwsze pole jest offsetem
  2152.   pamiΩci. NastΩpne trzy pola to pierwsze trzy bajty adresu sprzΩtowego.
  2153.   Ostatnie pole zawiera flagi dla konkretnych cech karty; na pocz▒tek
  2154.   spr≤buj ustawiµ tu 0.
  2155.  
  2156.   Po edycji pcnet_cs.c, skompiluj i zainstaluj nowy modu│.  Zmodyfikuj
  2157.   jeszcze raz /etc/pcmcia/config i zmie± powi▒zania karty z memory_cs na
  2158.   pcnet_cs. PostΩpuj zgodnie z instrukacjami dla prze│adowywania pliku
  2159.   konfiguracyjnego i wszystko powinno byµ ustawione. Przy╢lij mi proszΩ
  2160.   kopie twoich nowych pozycji konfiguracyjnych i hw_info.
  2161.  
  2162.   Je╢li nie mo┐esz znale╝µ adresu sprzΩtowego swojej karty w formie
  2163.   szesnastkowej, ostateczn▒ metod▒ mo┐e okazaµ siΩ jawne podanie adresu
  2164.   w czasie inicjacji modu│u pcnet_cs. Popraw plik /etc/pcmcia/config
  2165.   dodaj▒c opcjΩ hw_addr=:
  2166.  
  2167.  
  2168.      module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03"
  2169.  
  2170.  
  2171.  
  2172.   Oczywi╢cie zamiast podanego adresu podaj adres swojej karty w
  2173.   odpowiednim miejscu.
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.   5.3.  Interfejs PCMCIA do dyskietek.
  2180.  
  2181.  
  2182.   Pakiet ten nie obs│uguje jeszcze interfejs≤w u┐ywanych przez Compaq
  2183.   Aero i kilka innych laptop-≤w. Kruczkiem w obs│udze dyskietek w Aero
  2184.   jest to, ┐e Aero wydaje siΩ u┐ywaµ ustawianego kontrolera PCMCIA, aby
  2185.   obs│ugiwaµ DMA dla dyskietek. Nie wiedz▒c jak to jest dok│adnie
  2186.   robione, nie ma sposobu, aby zaimplementowaµ to w Linux-ie.
  2187.  
  2188.   Je╢li kontroler dyskietek jest obecny podczas startowania Aero, BIOS
  2189.   Aero skonfiguruje kartΩ i Linux zidentyfikuje j▒ jako normaln▒ stacjΩ
  2190.   dyskietek. Kiedy za│adowane s▒ sterowniki Linux-owe PCMCIA, zauwa┐▒,
  2191.   ┐e karta jest ju┐ skonfigurowana i skojarzona ze sterownikiem Linux-
  2192.   owym i zostawi▒ to gniazdo w spokoju. Tak wiΩc napΩd mo┐e byµ u┐ywany
  2193.   je╢li jest obecny podczas startu, ale nie mo┐e byµ wymieniany podczas
  2194.   pracy (hot swapping).
  2195.  
  2196.  
  2197.   5.4.  Co jest z obs│ug▒ kart Xircom ?
  2198.  
  2199.  
  2200.   DziΩki pracy Wernera Kocha w aktualnej wersji pakietu PCMCIA zawarty
  2201.   jest sterownik do kart ethernetowej i ethernet/modem firmy Xircom.
  2202.   Specjalnie dla dyskusji na temat rozwoju sterownika Xircom ustawi│em
  2203.   forum HyperNews pod adresem
  2204.   hyper.stanford.edu/HyperNews/get/pcmcia/xircom.html
  2205.   <http://hyper.stanford.edu/HyperNews/get/pcmcia/xircom.html>.
  2206.  
  2207.   Przez d│ugi czas karty Xircom nie by│y obs│ugiwane poniewa┐ Xircom
  2208.   mia│ tak▒ zasadΩ, ┐eby nie ujawniaµ technicznych informacji o swoich
  2209.   kartach. Jednak trochΩ zmienili zasady i teraz rozprowadzaj▒
  2210.   informacje o sterowniku.
  2211.  
  2212.  
  2213.   6.  Wskaz≤wki do ╢ledzenia (debugging) i informacje do programowania.
  2214.  
  2215.  
  2216.  
  2217.   6.1.  Jak mogΩ wys│aµ pomocny list o b│Ωdzie ?
  2218.  
  2219.  
  2220.   Najlepszym sposobem na zg│aszanie b│Ωd≤w jest u┐ycie listy
  2221.   komunikatowej na HyperNews-ach na stronie dotycz▒cej PCMCIA na Linux-
  2222.   ie. W ten spos≤b inni tak┐e mog▒ ╢ledziµ bie┐▒ce problemy (i poprawki
  2223.   czy obej╢cia je╢li s▒ dostΩpne).
  2224.  
  2225.   Oto rzeczy, kt≤re powinny byµ zawarte w ka┐dym li╢cie na temat b│Ωdu:
  2226.  
  2227.  
  2228.   ╖  Typ twojego systemu i wynik polecenia probe.
  2229.  
  2230.   ╖  Jakich kart PCMCIA u┐ywasz.
  2231.  
  2232.   ╖  Wersja twojego j▒dra i wersja PCMCIA.
  2233.  
  2234.   ╖  Jakiekolwiek zmiany, jakie zrobi│e╢ w pliku /etc/pcmcia albo
  2235.      rc.pcmcia.
  2236.  
  2237.   ╖  Wszystko co jest zwi▒zane z kartami PCMCIA z log-≤w systemowych.
  2238.  
  2239.   Przed wys│aniem listu o b│Ωdzie, upewnij siΩ proszΩ, ┐e u┐ywasz
  2240.   najnowszej wersji sterownik≤w do PCMCIA. Szczerze powiem, ┐e czytanie
  2241.   o czym╢, co ju┐ naprawi│em nie jest najbardziej konstruktywnym
  2242.   sposobem na spΩdzanie czasu.
  2243.  
  2244.  
  2245.   Je╢li tw≤j problem zwi▒zany jest tak┐e z nag│ym przerwaniem dzia│ania
  2246.   j▒dra, podczas kt≤rego wy╢wietlane s▒ zawarto╢ci rejestr≤w, to
  2247.   zawarto╢µ ta jest przydatna tylko wtedy je╢li mo┐esz wskazaµ adres
  2248.   EIP. Je╢li jest on w g│≤wnym j▒drze, sprawd╝ ten adres w System.map,
  2249.   aby zidentyfikowaµ funkcjΩ, kt≤ra by│a w tym momencie wykonywana.
  2250.   Je╢li przerwa nast▒pi│a podczas dzia│ania jakiego╢ modu│u │adowalnego,
  2251.   jest to trochΩ trudniejsze do prze╢ledzenia. W bie┐▒cej wersji
  2252.   narzΩdzi do modu│≤w program ksyms -m wy╢wietli adres podstawowy
  2253.   ka┐dego modu│u. We╝ modu│, kt≤ry zawiera podane EIP, i odejmij jego
  2254.   adres podstawowy od EIP, aby otrzymaµ w ten spos≤b offset w module.
  2255.   Uruchom wtedy gdb z tym modu│em jako parametr i sprawd╝ otrzymany
  2256.   offset poleceniem list. Zadzia│a to tylko wtedy kiedy dany modu│ by│
  2257.   skompilowany z opcj▒ -g, czyli z informacjami dla debugger-a.
  2258.  
  2259.   Je╢li nie masz dostΩpu do WWW, informacje o b│Ωdach mo┐na wysy│aµ do
  2260.   mnie na adres dhinds@hyper.stanford.edu. Chocia┐ wolΩ, aby informacje
  2261.   takie by│y wysy│ane na mojej stronie WWW, tak ┐eby inni tak┐e mogli je
  2262.   widzieµ.
  2263.  
  2264.  
  2265.   6.2.  Informacje na temat niskopoziomowego ╢ledzenia PCMCIA.
  2266.  
  2267.  
  2268.   Modu│y PCMCIA zawieraj▒ du┐o warunkowo skompilowanego kodu ╢ledzenia.
  2269.   WiΩkszo╢µ tego kodu jest pod kontrol▒ definicji preprocesora
  2270.   PCMCIA_DEBUG. Je╢li jest to niezdefiniowane, to kod do ╢ledzenia nie
  2271.   zostanie wkompilowany. Je╢li jest utawione na 0, kod ten jest
  2272.   wkompilowany, ale nieaktywny. Im wiΩksze poziomy tym wiΩcej
  2273.   informacji. Ka┐dy modu│ stworzony ze zdefiniowanym symbolem
  2274.   PCMCIA_DEBUG bΩdzie mia│ parametr typu Integer, pc_debug, kt≤ry
  2275.   kontroluje ilo╢µ pojawiaj▒cych siΩ informacji. Mo┐e to byµ ustawiane
  2276.   wtedy, kiedy modu│ jest │adowany, tak wiΩc wyj╢cie mo┐e byµ
  2277.   kontrolowane, na zasadzie "dla ka┐dego modu│u" bez potrzeby
  2278.   przekompilowywania.
  2279.  
  2280.   Jest kilka narzΩdzi do ╢ledzenia w podkatalogu debug_tools/ w
  2281.   dystrybucji PCMCIA. NarzΩdzia dump_tcic i dump_i365 generuj▒ kompletny
  2282.   zrzut rejestr≤w kontrolera PCMCIA i dekoduj▒ du┐o informacji z
  2283.   rejestr≤w. S▒ najbardziej po┐yteczne wtedy, gdy masz dostΩp do
  2284.   schematu danych konkretnego uk│adu scalonego kontrolera. NarzΩdzie
  2285.   dump_tuples wy╢wietla CIS-y (Card Information Structure) danej karty i
  2286.   dekoduje niekt≤re z najwa┐niejszych bit≤w. A narzΩdzie dump_cisreg
  2287.   wy╢wietla rejestry lokalnej konfiguracji karty.
  2288.  
  2289.   Sterownik memory_cs do karty pamiΩci jest tak┐e czasami przydatny do
  2290.   ╢ledzenia. Mo┐e on zostaµ powi▒zany z ka┐d▒ kart▒ PCMCIA i nie wp│ywa
  2291.   to negatywnie na inne sterowniki. Mo┐e on zostaµ u┐yty do
  2292.   bezpo╢redniego dostΩpu do pamiΩci atrybutowej karty albo zwyk│ej
  2293.   pamiΩci.
  2294.  
  2295.  
  2296.   6.3.  Jak mam napisaµ sterownik Card Services dla nowej karty ?
  2297.  
  2298.  
  2299.   Najlepsz▒ dokumentacj▒ dla interfejsu PCMCIA dla Linux-a jest "The
  2300.   Linux PCMCIA Programmer's Guide". Najnowsza wersja jest zawsze
  2301.   dostΩpna z hyper.stanford.edu albo na WWW -
  2302.   hyper.stanford.edu/HyperNews/get/pcmcia/home.html
  2303.   <http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html>.
  2304.  
  2305.   Dla urz▒dze±, kt≤re s▒ wzglΩdnie podobne do normalnych urz▒dze± kart
  2306.   ISA, bΩdziesz m≤g│ przypuszczalnie u┐yµ fragment≤w sterownik≤w Linux-
  2307.   a, kt≤re ju┐ istniej▒. W niekt≤rych przypadkach, najwiΩkszym problem
  2308.   bΩdzie takie przerobienie ju┐ istniej▒cego sterownika, aby m≤g│ on
  2309.   sobie poradziµ z wk│adaniem i wyjmowaniem danej karty. W bie┐▒cej
  2310.   wersji, sterownik do karty pamiΩci jest jedynym sterownikiem, kt≤ry
  2311.   nie zale┐y od ┐adnej czΩ╢ci innego sterownika, kt≤ry wykonywa│by za
  2312.   niego brudn▒ robotΩ.
  2313.  
  2314.   Napisa│em szkielet sterownika z du┐▒ ilo╢ci▒ komentarzy, kt≤re
  2315.   wyja╢niaj▒ jak sterownik siΩ komunikuje z Card Sevices; znajdziesz ten
  2316.   szkielet w dystrybucji ╝r≤d│owej PCMCIA w podkatalogu
  2317.   modules/skeleton.c.
  2318.  
  2319.  
  2320.   6.4.  Wskaz≤wki dla autor≤w sterownik≤w klient≤w PCMCIA.
  2321.  
  2322.  
  2323.   Zdecydowa│em, ┐e nie jest rozs▒dne dla mnie, abym rozprowadza│
  2324.   wszystkie sterowniki klient≤w PCMCIA jako czΩ╢µ pakietu PCMCIA.  Ka┐dy
  2325.   nowy sterownik czyni g│≤wny pakiet trudniejszym do utrzymania i, co
  2326.   mo┐na by│o przewidzieµ, do│▒czenie sterownika przenosi trochΩ pracy
  2327.   opiekuna z autora na mnie. W zamian za to, zdecydujΩ osobno dla
  2328.   ka┐dego przypadku (case by case) czy w│▒czyµ czy nie sterowniki pisane
  2329.   przez osoby trzecie, w zale┐no╢ci od ┐▒da± u┐ytkownik≤w jak i
  2330.   mo┐liwo╢ci utrzymywania. SugerujΩ, ┐eby autorzy sterownik≤w, kt≤re nie
  2331.   dosta│y siΩ do g│≤wnego pakietu, zaadoptowali nastΩpuj▒cy schemat przy
  2332.   przygotowywaniu ich sterownik≤w do dystrybucji.
  2333.  
  2334.   Pliki sterownika powinny byµ u│o┐one w takiej samej strukturze
  2335.   katalog≤w jak w g│≤wnej dystrybucji, tak, ┐eby mo┐na by│o rozpakowaµ
  2336.   sterownik ten w g│≤wnym katalogu ╝r≤de│ g│≤wnej dystrybucji. Sterownik
  2337.   powinien posiadaµ pliki ╝r≤d│owe (w ./modules/), stronΩ do podrΩcznika
  2338.   systemowego (w ./man/) i pliki konfiguracyjne (w ./etc/).  Katalog
  2339.   g│≤wny powinien zawieraµ tak┐e plik README.
  2340.  
  2341.   W katalogu g│≤wnym powinien siΩ tak┐e znajdowaµ makefile, ustawiony w
  2342.   taki spos≤b, ┐e "make -f ... all" i "make -f ... install" skompiluje
  2343.   sterownik i zainstaluje wszystkie potrzebne pliki. Je╢li plik ten
  2344.   posiada rozszerzenie .mk, to zostanie on automatycznie wykonany przez
  2345.   g│≤wny pliku Makefile dla cel≤w all i install.
  2346.   Oto przyk│ad jak taki plik m≤g│by byµ skonstruowany.
  2347.  
  2348.  
  2349.  
  2350.        # Przyk│adowy Makefile dla sterownik≤w pisanych przez osoby trzecie
  2351.        FILES = sample_cs.mk README.sample_cs \
  2352.                modules/sample_cs.c modules/sample_cs.h \
  2353.                etc/sample etc/sample.opts man/sample_cs.4
  2354.        all:
  2355.                $(MAKE) -C modules MODULES=sample_cs.o
  2356.        install:
  2357.                $(MAKE) -C modules install-modules MODULES=sample_cs.o
  2358.                $(MAKE) -C etc install-clients CLIENTS=sample
  2359.                $(MAKE) -C man install-man4 MAN4=sample_cs.4
  2360.        dist:
  2361.                tar czvf sample_cs.tar.gz $(FILES)
  2362.  
  2363.  
  2364.  
  2365.  
  2366.   Plik ten u┐ywa cel≤w install zdefiniowanych w pakiecie PCMCIA 2.9.10 i
  2367.   p≤╝niejszych. Zawiera on tak┐e cel "dist" dla wygody autora
  2368.   sterownika. Przypuszczalnie bΩdziesz chcia│ dodaµ numer wersji do
  2369.   ostatecznego pakietu (np. sample_cs-1.5.tar.gz).  Pe│na dystrybucja
  2370.   mog│aby wygl▒daµ tak:
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.   sample_cs.mk
  2378.   README.sample_cs
  2379.   modules/sample_cs.c
  2380.   modules/sample_cs.h
  2381.   etc/sample
  2382.   etc/sample.opts
  2383.   man/sample_cs.4
  2384.  
  2385.  
  2386.  
  2387.  
  2388.   Z takim uk│adem katalog≤w, po rozpakowaniu sterownik staje siΩ czΩ╢ci▒
  2389.   g│≤wnej dystrybucji. Mo┐e korzystaµ z plik≤w nag│≤wkowych PCMCIA, tak
  2390.   jak i z mo┐liwo╢ci sprawdzania konfiguracji systemu u┐ytkownika i
  2391.   automatycznego sprawdzania zale┐no╢ci tak samo jak "normalny"
  2392.   sterownik klienta.
  2393.  
  2394.   BΩdΩ akceptowa│ sterowniki przygotowane zgodnie z t▒ specyfikacj▒ i
  2395.   umieszcza│ je w katalogu /pub/pcmcia/contrib na moim serwerze FTP -
  2396.   hyper.stanford.edu. Plik README w tym katalogu bΩdzie opisywa│ jak
  2397.   rozpakowaµ sterownik pisany przez trzeci▒ osobΩ.
  2398.  
  2399.   Interfejs sterownika PCMCIA nie zmieni│ siΩ wiele przez ten czas i
  2400.   prawie zawsze zachowywa│ wsteczn▒ kompatybilno╢µ. Sterownik klienta
  2401.   nie bΩdzie musia│ byµ aktualizowany dla pobocznych wersji w pakiecie
  2402.   g│≤wnym PCMCIA. Spr≤bujΩ powiadamiaµ autor≤w sterownik≤w o zmianach,
  2403.   kt≤re wymagaj▒ uaktualnienia ich sterownik≤w.
  2404.  
  2405.  
  2406.   6.5.  Od t│umacza.
  2407.  
  2408.  
  2409.   T│umaczenie to jest chronione prawami autorskimi (C) Bartosza
  2410.   Maruszewskiego.  Dozwolone jest rozprowadzanie i dystrybucja na
  2411.   prawach takich samych jak dokument oryginalny.
  2412.  
  2413.   Je╢li znalaz│e╢ jakie╢ ra┐▒ce b│Ωdy ortograficzne, gramatyczne,
  2414.   sk│adniowe, techniczne to pisz do mnie:
  2415.  
  2416.   B.Maruszewski@jtz.org.pl A mo┐esz tu znale╝µ do╢µ du┐o mo┐e nie
  2417.   b│Ωd≤w, ale konstrukcji, kt≤re nie s▒ podobne do jΩzyka polskiego. Ale
  2418.   to wszystko dlatego, ┐e jest trochΩ ciΩ┐ko przet│umaczyµ zdanko z
  2419.   angielskiego je╢li jest obok siebie 4 czy czasami nawet 6 rzeczownik≤w
  2420.   ;) Je╢li zauwa┐ysz taki stw≤r i wpadniesz na lepsze okre╢lenie,
  2421.   napisz.  Je╢li bΩdzie to w miarΩ sensowne, to napewno tego nie
  2422.   zignorujΩ.
  2423.  
  2424.   Oficjaln▒ stron▒ t│umacze± HOWTO jest http://www.jtz.org.pl/
  2425.  
  2426.   Aktualne wersje przet│umaczonych dokument≤w znajduj▒ siΩ na tej┐e
  2427.   stronie. DostΩpne s▒ tak┐e poprzez anonimowe ftp pod adresem
  2428.   ftp.jtz.org.pl w katalogu /JTZ/.
  2429.  
  2430.   Przet│umaczone przeze mnie dokumenty znajduj▒ siΩ tak┐e na mojej
  2431.   stronie WWW. <http://www.jtz.org.pl/bartek/tlumaczenie.html> S▒ tam
  2432.   te┐ odwo│ania do Polskiej Strony T│umaczeniowej.
  2433.  
  2434.   Kontakt z nasz▒ grup▒, grup▒ t│umaczy mo┐esz uzyskaµ poprzez listΩ
  2435.   dyskusyjn▒ jtz@ippt.gov.pl. Je╢li chcesz sie na ni▒ zapisaµ, to wy╢lij
  2436.   list o tre╢ci subscribe jtz ImiΩ Nazwisko na adres
  2437.   listproc@ippt.gov.pl
  2438.  
  2439.   Zmiany w tym dokumencie wprowadzone przez t│umacza to odwo│ania do
  2440.   polskich serwer≤w ftp.
  2441.  
  2442.  
  2443.